2009-07-30 135 views
3

(这是一个.NET构建服务器)我应该在构建服务器上安装SDK吗?

,我发现了以下错误:

c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(1679,9): error MSB3091: Task failed because "LC.exe" was not found, or the .NET Framework SDK v2.0 is not installed. 

The task is looking for "LC.exe" in the "bin" subdirectory beneath the location specified in the SDKInstallRootv2.0 value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework. 

You may be able to solve the problem by doing one of the following: 

1.) Install the .NET Framework SDK v2.0. 

2.) Manually set the above registry key to the correct location. 3.) Pass the correct location into the "ToolPath" parameter of the task. 

这是因为我们正在使用需要LIC.exe编译组件。

现在我可以通过构建服务器上安装微软最新的SDK解决这个问题,但我认为构建服务器的整点是不是有你开发工具安装了。我想我大概可以解决这个而不是经过一番盘算工作的一些事情了(像这些家伙一样)

http://richardsbraindump.blogspot.com/2009/07/some-teambuild-fun-and-games.html

我应该安装SDK?更重要的是:

构建服务器的主要目的是什么?

回答

4

做到这一点的最佳方式是存储在源代码管理中进行构建所需的一切。当你这样做时,你不需要在构建链更新时通过所有的构建服务器,它会自动发生。另外一个好处是,您可以及时回溯,并且仍然能够构建所有内容,而无需深入研究所有旧CD,以查找构建旧版本产品所需的工具。

但是,这可能不适用于所有构建工具。例如,我们试图用Visual Studio 2005来做到这一点,但是从未安装的工具链构建时,我们从mspdbsrv得到了奇怪的间歇性pdb错误。所以,不幸的是,我们所有的构建服务器都安装了VS2005(但不是PS3工具链,因为它经常更新,所以它真的很棒)。

问候,

Sebastiaan

8

构建服务器的主要目的是构建代码。任何构建代码所需的东西都需要在构建服务器上。

3

我想说构建服务器需要构建所需的一切; TEST服务器可能没有安装任何SDK。

+0

这将使某种意义上也,但是,我们使用CCNET,运行NUnit的测试与构建一起。 (如果测试通过,那么构建也是如此)你的意思是某种手动测试服务器? – KevinDeus 2009-07-30 21:07:24

+0

不同的地方称它为不同的名称 - 测试,接受。一个非常接近生产的环境,以确保系统(包括其安装)在没有任何支持工具或SDK的情况下工作。 NUnit测试在这个环境下是不够的,但是可能会有前端测试(例如Canoo WebTest) – 2009-07-30 21:57:08

6

您的构建服务器已将上的所有构建/ dev工具/库都包含在其中。这就是它如何构建的。

所以是的,安装SDK。

+0

是的,这似乎是有道理的,但那么如何处理旧的“在开发箱上没有错误,但部署框中存在错误“问题?在我看来,在这种情况下,使用这种哲学,你只是希望建立在另一台机器上,而不是你自己的机器上。 – KevinDeus 2009-07-30 21:14:08

相关问题