我们正在使用WPF界面创建一个新的Windows应用程序。由于各种原因,我们试图使所有支持库都在net standard 2.0上运行。
因此,WPF项目Foo引用了同一解决方案中的.NET Standard 2.0项目。
我的问题是要获得在TeamCity构建服务器上构建的解决方案。
生成解决方案时,msbuild会给出错误(在Visual Studio 2017中可以正常运行)。
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.WinFx.targets(268,9):错误MC1000:未知的生成错误,'无法解析对程序集的依赖'netstandard,Version = 2.0.0.0,Culture =中性,PublicKeyToken = cc7b13ffcd2ddd51',因为尚未预加载。在使用ReflectionOnly API时,必须通过ReflectionOnlyAssemblyResolve事件预先加载或根据需要加载相关程序集。[Src \ Foo \ Foo.csproj]
如果我使用nuget将NetStandard.Library添加到Foo项目中,则会收到与msbuild不同的错误(在Visual Studio中仍然可以正常工作)。
C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ Microsoft \ NuGet \ 15.0 \ Microsoft.NuGet.targets(178,5):错误:您的project.json没有运行时部分。您应该在project.json中添加'“ runtimes”:{“ win”:{}}',然后重新运行NuGet restore。[Src \ Foo \ Foo.csproj]
没有project.json文件。
它与15.0版本的msbuild一起运行
外部程序失败:C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin \ MsBuild.exe(返回码为1)
从全新的构建服务器开始解决了该问题。我猜想有太多版本的msbuild和visual studio或SDK或旧版本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句