C# 如何发布nuget包
我正试图发布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毫秒内
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
无需包时生成。在输出文件夹中进行搜索。并按时间排序,查看创建的最新文件。打开任何日志文件,查看是否有其他调试信息在任何文件中。问题似乎与删除依赖项“一切正常”文件时的依赖项有关。但是当我包含依赖项时,问题就出现了。还在想办法解决这个问题吗