【发布时间】:2018-12-03 21:53:14
【问题描述】:
在构建引用 Razor 类库的 MVC 应用程序时,我试图弄清楚如何解决 MSB4062 错误。重现它的步骤包括创建一个新的 MVC 项目(运行“dotnet new mvc”),创建一个新的 Razor 类库(运行“dotnet new razorclasslib”),并将类库添加到 MVC 应用程序,方法是将以下内容添加到csproj 文件:
<ItemGroup>
<ProjectReference Include="..\Library\Library.csproj" />
</ItemGroup>
当我尝试编译项目(我正在使用 Visual Studio Code)时,我会收到以下错误消息:
C:\Program Files\DotNET\sdk\NuGetFallbackFolder\microsoft.aspnetcore.razor.design\2.1.2\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets(69,5):错误 MSB4062:无法从程序集 C:\Program Files\DotNET\sdk\NuGetFallbackFolder\microsoft.aspnetcore.razor.design\2.1.2\build\netstandard2 加载“Microsoft.AspNetCore.Razor.Tasks.RazorTagHelper”任务.0....\tasks\netstandard2.0\Microsoft.AspNetCore.Razor.Tasks.dll。已加载同名程序集 确认声明正确、程序集及其所有依赖项均可用,并且任务包含实现 Microsoft.Build.Framework.ITask 的公共类。 [C:\Users\userprofile\Development\Application\Application.csproj]
真正奇怪的部分是,如果我然后删除 csproj 文件中的 ProjectReference 条目,编译 MVC 应用程序(不带库),然后重新添加 ProjectReference 条目,整个项目(带库)编译正常。但是,只要我清理 MVC 应用程序或库,错误就会回来。
【问题讨论】:
-
在两者之间运行
dotnet build-server shutdown有帮助吗?如果没有,添加-nr:false或-m:1有帮助吗?你能分享剩下的 csproj 文件吗? -
1.你的
SDK是什么版本的? 2.能否请您粘贴Library.csproj和Application.csrproj的完整代码?
标签: c# asp.net-core compiler-errors msbuild .net-core