【问题标题】:Razor Class Library MSBuild MSB4062 Error During CompileRazor 类库 MSBuild MSB4062 编译期间出错
【发布时间】: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.csprojApplication.csrproj的完整代码?

标签: c# asp.net-core compiler-errors msbuild .net-core


【解决方案1】:

将以下内容添加到 razor 类库的 csproj 文件修复了该问题:

<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />

默认情况下,应用程序的 csproj 文件中已经存在类似的引用...可能存在版本不匹配?

【讨论】:

    猜你喜欢
    • 2021-05-01
    • 1970-01-01
    • 2010-10-06
    • 2018-06-20
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多