我正面临着Win10 x64上的程序集未找到的构建问题,使用msbuild命令行实用程序v14,目标是x86:
msbuild dummy.csproj / t:重建 / P:配置=推出; AppxBundle =总是;平台= 86
奇怪的是,它似乎只在Win10 x64上失败,而在Win10 x86上也失败了。我不排除虽然配置差异。
错误是:
从程序集中提取.ResW文件" C:\ Users \ abart.nuget \ packages \ Microsoft.CSharp \ 4.0.0 \ lib \ netcore50 \ Microsoft.CSharp.dll"进入" obj \ x86 \ Release \"。
C:\ Program Files (86)\的MSBuild \微软\ VisualStudio的\ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(1047,5): 错误MSB3816:加载程序集 " C:\用户\ abart.nuget \包\ Microsoft.NETCore.Portable.Compatibility \ 1.0.0 \运行时\ AOT \ lib中\ netcore50 \ mscorlib.dll中" 失败。 System.IO.FileNotFoundException:无法加载文件或 assembly&System; .Private.CoreLib,Version = 4.0.0.0,Culture = neutral, 公钥= b03f5f7f11d50a3a'或其中一个依赖项。该 系统找不到指定的文件。 [dummy.csproj]
C:\ Program Files (86)\的MSBuild \微软\ VisualStudio的\ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(1047,5): 错误MSB3816:文件名:' System.Private.CoreLib,版本= 4.0.0.0, Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a' [dummy.csproj]
C:\ Program Files (86)\的MSBuild \微软\ VisualStudio的\ v14.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(1047,5): 错误MSB3816:在System.ModuleHandle.ResolveType(RuntimeModule module,Int32 typeToken,IntPtr * typeInstArgs,Int32 typeInstCount, IntPtr * methodInstArgs,Int32 methodInstCount,ObjectHandleOnStack type)[dummy.csproj] ....
mscorlib.dll文件确实存在。
任何想法为什么会发生这种情况?
答案 0 :(得分:0)
您可能需要使用x64 msbuild
的完整路径,如下所示:
"c:\Program File(x86)\MSBUILD\14.0\bin\amd64\msbuild.exe"
答案 1 :(得分:0)
我无法确认这是上面的答案,但我的Windows通用应用程序的构建问题非常相似。
内部编译器错误:MCG0024:UnresolvableTypeReference无法解析的类型引用' System.ICloneable' in' Assembly(Name = System.Private.CoreLib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a)'找到。请检查构建系统中的引用。引用缺失或程序集缺少预期类型。
在某些Visual Studio更新或Nuget更新之后,问题似乎出现了。我找到了下面引用的链接,并通过更改有问题项目的属性构建设置并禁用compile with.net native toolchain参数进行了实验。
我不认为这是预期的行为或长期解决方案,但它确实让我恢复了能够构建和测试代码的能力。
如果其他人对这个问题的发生方式或原因有正确的认识,请以正确的方式进行修复,请回复此处。谢谢。
Dave G