生成卫星程序集时出现警告 AL1073

5
在Visual Studio 2010下,我在生成项目的本地化卫星程序集时遇到编译警告。我的操作系统是Windows 7 64位。该项目正在x86中构建(必须这样做,因为它间接引用了一个非托管DLL——通过Oracle ODP.NET)。
MSBuild日志会生成以下警告:
ALINK : warning AL1073: Referenced assembly 'mscorlib.dll' targets a different processor [xxx.csproj]
是否有任何方法可以强制其使用与正在生成的程序集相同的框架版本?
这非常令人沮丧,因为我希望我们的构建中没有任何警告,但这个警告总是存在的。

你尝试使用x86版本的MSBuild了吗?它位于C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319,而不是C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319。 - Igor Korkhov
不,我没有。我会尝试强制TFS使用x86平台。但是我该如何在我的Visual Studio中解决这个问题,因为我也在那里遇到了这个错误... - Stephen Drew
您可以在解决方案中检查“引用”节点,检查例如 System.dll 的属性,路径应该是 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework...(对于 x86)和 C:\Program Files\Reference Assemblies\Microsoft\Framework...(对于 x64)。希望这能给您一些线索。 - Igor Korkhov
1
是的,这似乎解决了TFS中的问题...但在VS2010中没有。 - Stephen Drew
1
但是我不应该在不同的配置中为核心库添加不同的程序集引用,对吗? - Stephen Drew
也许你不应该这样做,但我不知道如何告诉VS在生成卫星程序集时引用适当版本的核心库,取决于活动平台。 - Igor Korkhov
1个回答

1

我无意中重新复现了这个错误。我的项目目标是x86(因为使用了第三方DLL),但我在VSx64 2010命令窗口下运行了MSBuild。这会设置Platform=X64等其他参数。 当我在VS 2010命令窗口下(为x86)运行时,没有出现这个警告。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接