C# 如何发布nuget包

C# 如何发布nuget包,c#,nuget,C#,Nuget,我正试图发布NuGet包 当我运行dotnetpack时,我会得到以下响应 Microsoft(R)针对.NET核心构建引擎版本16.4.0+e901037fe 版权所有(C)微软公司。版权所有 恢复在59.66毫秒内完成 /用户/ali/Desktop/earthlink/AutoCrud/AutoCrud.csproj 在文档中,我遵循的输出应该是: Microsoft(R)为.NET Core构建引擎版本15.5.180.51428 版权所有(C)微软公司。版权所有 恢复在29.91毫秒内

我正试图发布NuGet包

当我运行
dotnetpack
时,我会得到以下响应

Microsoft(R)针对.NET核心构建引擎版本16.4.0+e901037fe 版权所有(C)微软公司。版权所有

恢复在59.66毫秒内完成 /用户/ali/Desktop/earthlink/AutoCrud/AutoCrud.csproj

在文档中,我遵循的输出应该是:

Microsoft(R)为.NET Core构建引擎版本15.5.180.51428 版权所有(C)微软公司。版权所有

恢复在29.91毫秒内完成 D:\proj\AppLoggerNet\AppLogger\AppLogger.csproj。阿普洛格-> D:\proj\AppLoggerNet\AppLogger\bin\Debug\netstandard2.0\AppLogger.dll 已成功创建包 'D:\proj\AppLoggerNet\AppLogger\bin\Debug\AppLogger.1.0.0.nupkg'

如您所见,在我的示例中,没有创建任何
.nupkg
文件

这是我的
.csproj
文件:

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>netcoreapp3.1</TargetFramework>
        <PackageId>AutoCrud</PackageId>
        <Version>1.0.0</Version>
        <Authors>Ali Faris</Authors>
        <Company>Ali Faris</Company>
        <PackageLicenseExpression>MIT</PackageLicenseExpression>
        <RepositoryUrl>https://github.com/alicompiler/AutoCrud.NetCore</RepositoryUrl>
        <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.7"/>
        <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.7"/>
        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1"/>
        <PackageReference Include="Moq" Version="4.14.5"/>
        <PackageReference Include="xunit" Version="2.4.1"/>
        <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
            <PrivateAssets>all</PrivateAssets>
        </PackageReference>
        <FrameworkReference Include="Microsoft.AspNetCore.App"/>
    </ItemGroup>
</Project>

netcoreapp3.1
自动驾驶
1.0.0
阿里·法里斯
阿里·法里斯
麻省理工学院
https://github.com/alicompiler/AutoCrud.NetCore
真的
运行时间;建设;本地人;内容文件;分析仪;可传递的
全部的
如何生成此
.nupkg
文件

顺便说一句,我在微软的帮助下使用macOS

这个问题似乎与某些依赖项有关,特别是:
xunit
Microsoft.NET.Test.Sdk
,这些依赖项是“不可打包的”

解决方案是将
true
添加到PropertyGroup

<PropertyGroup>
    <IsPackable>true</IsPackable>
     ...
</PropertyGroup>

真的
...

我通常用记事本编辑csproj文件,以防止出现类似问题。VisualStudio使用完整路径名将对象添加到项目中。当我有一个引用其他项目的VS项目时,我喜欢使用相对路径名。您收到一个错误,因为您的路径之一包含D:\而该路径不在计算机上。我正在使用macOS with Rider作为编辑器。我没有收到任何错误,我遇到的问题是,当我运行
dotnet pack
时,不会生成
.nuget
文件。如果使用
true
则应该在使用
dotnet build
无需包时生成。在输出文件夹中进行搜索。并按时间排序,查看创建的最新文件。打开任何日志文件,查看是否有其他调试信息在任何文件中。问题似乎与删除依赖项“一切正常”文件时的依赖项有关。但是当我包含依赖项时,问题就出现了。还在想办法解决这个问题吗