[英]`dotnet pack` on a fresh project fails
我創建了一個新的 class 庫(使用 VS2019)。 這是 CSProj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Authors>Itai</Authors>
<Company>Company</Company>
<Description>Test NuGet Package Creation using CLI</Description>
</PropertyGroup>
</Project>
它只有模板中的Class1.cs
文件:
using System;
namespace PkgTest
{
public class Class1
{
}
}
但是當我運行dotnet pack.\PkgTest.csproj
我得到這個:
PS C:\Users\itaib\source\repos\PkgTest\PkgTest> dotnet pack .\PkgTest.csproj
MSBuild version 17.3.0+92e077650 for .NET
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\amd64\Microsoft.CSharp.CurrentVersio
n.targets(317,5): error MSB4019: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\M
SBuild\Current\Bin\amd64\Roslyn\Microsoft.CSharp.Core.targets" was not found. Confirm that the expression in the Import
declaration "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\amd64\Roslyn\Microsoft
.CSharp.Core.targets" is correct, and that the file exists on disk. [C:\Users\itaib\source\repos\PkgTest\PkgTest\PkgTes
t.csproj]
(順便說一句 - 當我嘗試運行dotnet build.\PkgTest.csproj
時也會發生同樣的事情)
當在項目上使用 VS2019 右鍵單擊菜單並選擇“打包”時,將創建 package(或者當我單擊“構建”時,項目將被構建),這意味着我擁有構建和創建 package 所需的所有工具。
我嘗試調查錯誤,在磁盤上查找相關文件並導入它們,但沒有任何效果。
運行dotnet --list-sdks
返回:
3.1.422 [C:\Program Files\dotnet\sdk]
5.0.403 [C:\Program Files\dotnet\sdk]
5.0.408 [C:\Program Files\dotnet\sdk]
6.0.400 [C:\Program Files\dotnet\sdk]
知道如何解決這個問題嗎?
dotnet build -v diag.\PkgTest.csproj
的 output 可以在這里找到: https://pastebin.com/RTtgWbZ1
你有一個環境變量集:
MSBUILD_EXE_PATH = C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe
刪除此環境變量,它將解決您的問題。 它導致dotnet
命令使用 Visual Studio 文件夾中的 msbuild 而不是其自己的文件夾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.