rud*_*den 5 visual-studio nuget nuget-package
我已在项目.csproj
文件的 AfterBuild 部分添加了一条命令,如果它是发布配置,则会自动创建 NuGet 包。正如下面的代码片段中所指定的,这部分运行良好。
<Target Name="AfterBuild" Condition=" '$(Configuration)' == 'Release'">
<Exec Command="nuget pack $(ProjectFileName) -IncludeReferencedProjects -Prop Configuration=Release"></Exec>
</Target>
Run Code Online (Sandbox Code Playgroud)
我现在想添加一个附加nuget add $(NugetFileName) -source c:\NugetLocal
命令来将 NuGet 包复制到我的本地存储库。不幸的是,该$(NugetFileName)
宏不存在。我可以结合使用$(TargetName)
宏,.nupkg
但包名称包含程序集版本号,似乎没有方便的宏。有没有办法在不使用 MSBuild 脚本的情况下执行此操作?
在 Visual Studio 2019 中,添加了在构建项目时自动创建 Nuget 包的功能,因此您不必在构建后事件中创建它。将包添加到本地存储库只需 .csproj 文件中的一行代码
<Target Name="NugetAdd" AfterTargets="Pack">
<exec command="nuget add $(OutputPath)$(PackageId).$(PackageVersion).nupkg -source d:\NuGetLocal" />
</Target>
Run Code Online (Sandbox Code Playgroud)
上一个问题的答案显示了如何在构建后事件中公开版本号。结合您已有的内容,您可以执行nuget add
包含版本号的命令:
<Target Name="AfterBuild" Condition=" '$(Configuration)' == 'Release'">
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
<Output TaskParameter="Assemblies" ItemName="AssemblyVersion" />
</GetAssemblyIdentity>
<Exec Command="nuget pack $(ProjectFileName) -IncludeReferencedProjects -Prop Configuration=Release"></Exec>
<Exec Command="nuget add $(TargetName).%(AssemblyVersion.Version).nupkg -Source C:\NugetLocal"></Exec>
</Target>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2112 次 |
最近记录: |