gpt4 book ai didi

c# - 使用 .NET-Standard 2.0 项目构建 ASP.NET-Core 3.1 会导致冲突的 Microsoft.AspNetCore.Mvc.Analyzers 程序集

转载 作者:行者123 更新时间:2023-12-03 13:39:06 25 4
gpt4 key购买 nike

我正在尝试构建一个 ASP.NET-Core 3.1 ( netcoreapp3.1 ) 应用程序依赖于 .NET-Standard 2.0 的 NuGet 库使用 MSBuild SDK "Microsoft.NET.Sdk.Razor" .

这在 Visual Studio (2019) 中构建并运行良好,但是当我运行时 dotnet build我收到以下错误:

Build FAILED.

CSC : error CS8034: Unable to load Analyzer assembly
C:\Users\daniel\.nuget\packages\microsoft.aspnetcore.mvc.analyzers\2.2.0\analyzers\dotnet\cs\Microsoft.AspNetCore.Mvc.Analyzers.dll
: Assembly with same name is already loaded [D:\git\myapp\src\myapp.App\myapp.App.csproj]
0 Warning(s)
1 Error(s)

我的猜测是我的 .NET-Standard 2.0图书馆正在拉入 Microsoft.CodeQuality.Analyzers 2.x 通过 Microsoft.NET.Sdk.Razor SDK,这与 ASP.NET-Core 3.1 拉入的冲突应用。

问题:
  • 有没有一种方法可以像 Visual Studio 一样通过命令行构建我的应用程序?
  • 是使用多目标和 #if NETCOREAPP3_1 的正确解决方案在我的图书馆里积木?
  • 最佳答案

    Visual Studio 使用 MSBuild 构建您的解决方案文件,因此您可以尝试 MSBuild %yoursolutionfile%另一方面,构建您的解决方案,dotnet build通常构建单个项目而不是解决方案。
    回答你的第二个问题,如果你发现你的依赖是必需的,并且在 3.1 版本的 dotnet build 中不能被忽略,是的,多目标设置应该可以工作,你可以按照这个链接来构建一个多目标应用程序 https://docs.microsoft.com/en-us/dotnet/core/tutorials/libraries#how-to-multitarget

    关于c# - 使用 .NET-Standard 2.0 项目构建 ASP.NET-Core 3.1 会导致冲突的 Microsoft.AspNetCore.Mvc.Analyzers 程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60068294/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com