我们使用的是VS2013和.Net 4.5.1(最近迁移的版本,但这个错误是从.Net 4.0开始的)。只有在平台目标x64中编译项目时,才会发生此错误。这真的是一个会在运行时中断的错误吗?为什么MSBUILD不能正确解析这个mrcorlib.dll?这只会发生在VS2010中创建的项目中,而不会出现在新创建的项目中。我在这里错过了什么。我所有的第三方程序集都在x64bit中。
在TeamCity构建服务器中,我收到以下错误:
GenerateSatelliteAssemblies
[17:01:18]AL
[17:01:18]C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\AL.exe /culture:de /keyfile:..\..\MyApp.snk /out:obj\x64\Release\de\MyApp.Hardware.Softing.resources.dll /platform:x64 /template:obj\x64\Release\MyApp.Hardware.Softing.dll /embed:obj\x64\Release\MyApp.Hardware.Softing.Properties.Resources.de.resources
[17:01:18]ALINK warning AL1073: Referenced assembly 'mscorlib.dll' targets a different processor
发布于 2015-06-25 02:04:47
虽然@jero2rome引用的错误已被关闭,但VS2015 RC w/ .NET 4.6不再发出此警告:
在VS2013/.NET 4.5.1中,我会看到同样的问题:
GenerateSatelliteAssemblies:
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\AL.exe /culture:zh-CHT /out:obj\x64\Debug\zh-CHT\MyComponent.resources.dll /platform:x64 /template:obj\x64\Debug\MyComponent.dll /embed:obj\x64\Debug\MyComponent.Resources.string.zh-CHT.resources
ALINK : warning AL1073: Referenced assembly 'mscorlib.dll' targets a different processor [c:\svn\project\MyComponent.csproj]
对于VS2015 RC/.NET 4.6,不会发出警告:
GenerateSatelliteAssemblies:
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\x64\AL.exe /culture:zh-CHT /out:obj\x64\Debug\zh-CHT\MyComponent.resources.dll /platform:x64 /template:obj\x64\Debug\MyComponent.dll /embed:obj\x64\Debug\MyComponent.Resources.string.zh-CHT.resources
发布于 2014-08-25 22:51:35
可以安全地忽略此警告。因为.Net会在运行时在64位机器上加载正确的64位程序集。微软仍然可以对这个问题给出一个可靠的答案。这是不必要的浪费时间的警告。
发布于 2017-04-12 04:31:10
我们遇到了同样的问题,最终得到了Matt Smith的变通方法(https://stackoverflow.com/a/41945190/3506760),但只做了一个修改,使其能够工作。
由于MsBuild (https://stackoverflow.com/a/1367309/3506760)中的特性/错误,我们需要修改步骤1中描述的目标文件。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="MsBuildAL1073WarningWorkaround" BeforeTargets="BeforeBuild" >
<PropertyGroup Condition="'$(Platform)' == 'x64'">
<TargetFrameworkSDKToolsDirectory>$(TargetFrameworkSDKToolsDirectory)$(Platform)\</TargetFrameworkSDKToolsDirectory>
</PropertyGroup>
</Target>
</Project>
https://stackoverflow.com/questions/25365616
复制相似问题