[英]`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.