2

我有一个 VS2010 解决方案,它为 .NET 2.0 创建了几个程序集。

这也包括附属程序集。

当我用 VS2010 创建一切时,一切都很好。但是我有一台 XP 机器使用 MSBuild 作为构建服务器。从那里创建的附属程序集无法识别。查看 ILDASM,我看到 VS2010 创建元数据版本 2,而 MSBuild 创建版本 4。我猜这意味着 VS2010 创建正确的 .NET2 版本,而 MSBuild 仅创建 .NET2 的主要程序集,但附属程序集是 .NET4。

我已经从这里知道了这个话题:什么决定了附属程序集的目标框架版本?

但这对我不起作用。

有什么想法可以让构建服务器创建 .NET2 附属程序集吗?如果我知道如何正确调用 AL.exe,我也许可以增强我的脚本。

4

1 回答 1

3

好吧,我破解了。

构建机器 (WinXP) 有一个带有 AL.exe 10.0.30.x 的 Windows SDK 7.1。这是始终创建 .NET4-satellite 程序集的方法。

我的带有 VS2010 的机器(Win7)有一个带有 AL.exe 9.0.30729.1 的 Windows SDK 7.0a。这是尊重目标框架的一个。

我(备份后)用我的那个替换了构建机器中的 AL.exe。这可行,但我认为这是一个非常肮脏的解决方法。

如果有人知道更好的方法,我将不胜感激!

于 2013-04-04T12:55:08.610 回答