Dot-Net
如何在建構後事件中獲取版本號
我想使用建構後事件自動創建一個 nuget 包,然後將其複製到我們網路上的共享文件夾中,如下所示(版本號 1.0.0.0. 在 MyLib.nuspec 文件中指定):
nuget.exe pack "$(SolutionDir)MyLib.nuspec" xcopy /Y "$(TargetDir)MyLib.1.0.0.0.nupkg" \\folder\subfolder\NuGetPackages這可行,但現在我想更新此腳本,以便它也包含程序集版本,但我無法在建構後事件中獲取程序集版本。我需要這樣的東西:
nuget.exe pack -Version $(AssemblyVersion) "$(SolutionDir)MyLib.nuspec" xcopy /Y "$(TargetDir)MyLib." + $(AssemblyVersion) + ".nupkg" \\folder\subfolder\NuGetPackages但是 $(AssemblyVersion) 變數不存在……有什麼想法嗎?
這個文章建構腳本對我有用。它在每個建構中打包並發布我的開發版本。很簡單。
del $(ProjectDir)bin\Debug\*.nupkg "$(ProjectDir)NuGet.exe" pack "$(ProjectDir)MyProject.csproj" forfiles /P $(ProjectDir)bin\Debug\ /m *.nupkg /c "cmd /c "$(ProjectDir)NuGet.exe" push @FILE -Source \\SHARE\NuGet"
嘗試這個:
編輯您的 .csproj 文件並添加此塊:
<Target Name="AfterBuild"> <GetAssemblyIdentity AssemblyFiles="$(TargetPath)"> <Output TaskParameter="Assemblies" ItemName="CurrentAssembly" /> </GetAssemblyIdentity> <Exec Command="xcopy /Y $(TargetDir)MyLib.%(CurrentAssembly.Version).nupkg \\folder\subfolder\NuGetPackages"></Exec> </Target>