簡體   English   中英

Razor類庫MSBuild MSB4062編譯期間錯誤

[英]Razor Class Library MSBuild MSB4062 Error During Compile

在構建引用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.0加載“ Microsoft.AspNetCore.Razor.Tasks.RazorTagHelper”任務。 ... \\任務\\ netstandard2.0 \\ Microsoft.AspNetCore.Razor.Tasks.dll。 具有相同名稱的程序集已經加載確認聲明正確,程序集及其所有依賴項都可用,並且任務包含實現Microsoft.Build.Framework.ITask的公共類。 [C:\\用戶\\ USERPROFILE \\發展\\應用\\ Application.csproj]

真正奇怪的是,如果我隨后刪除csproj文件中的ProjectReference條目,則編譯MVC應用程序(不帶庫),然后重新添加ProjectReference條目,整個項目(帶庫)都可以正常編譯。 但是,一旦我清理了MVC應用程序或庫,錯誤就會再次出現。

將以下內容添加到razor類庫的csproj文件中可解決此問題:

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

默認情況下,應用程序的csproj文件中已經存在類似的引用...也許版本不匹配?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM