我有一个发布到 NuGet 的新 ASP/.NET Core 项目.当我发布一个新包时,建议使用什么方法来保持 x.csproj 和 x.nuspec 中的版本标签同步?
I have a new ASP/.NET Core project that I publish to NuGet. What's the recommended approach to keep the version tags in x.csproj and x.nuspec in sync when I publish a new package?
推荐答案使用新的 .csproj 格式,您可以 在 .csproj 文件中添加所有信息以生成 NuGet 包.不再有理由使用 .nuspec 文件.
With new .csproj format, you can add all of the information to generate NuGet packages in the .csproj file. There is no longer a reason to use a .nuspec file.
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <AssemblyTitle>My NuGet Project</AssemblyTitle> <Description>Something I decided to release on NuGet.</Description> <PackageTags>my;project;whatever;</PackageTags> <Authors>Me (who else)</Authors> <RepositoryUrl>github/theprojectname</RepositoryUrl> <PackageLicenseUrl>github/theprojectname/blob/master/LICENSE.txt</PackageLicenseUrl> <PackageProjectUrl>myproject/</PackageProjectUrl> <PackageIconUrl>github/theprojectname/blob/master/branding/logo/icon-128x128.png?raw=true</PackageIconUrl> <Copyright>Copyright © 2006 - 2018 Me</Copyright> </PropertyGroup> ... </Project>某些元素(例如 <PackageId>)默认使用项目文件其余部分的设置,因此您不需要添加它们,除非您需要它们不同比默认值.
Some of the elements (such as <PackageId>) default to using settings from the rest of the project file, so you don't need to add them unless you need them to be different than the defaults.
请注意,您必须使用 dotnet 包(而不是旧的 NuGet.exe CLI) 或 Visual Studio 2017 以利用此功能.
Note you must use dotnet pack (rather than the old NuGet.exe CLI) or Visual Studio 2017 in order to utilize this feature.
更多推荐
nuspec 和 csproj 包版本标签
发布评论