我在appveyor.yml
以下after_build
定義:如何使用AppVeyor和GitVersion中的特定版本將項目作爲包依賴項引用?
after_build:
- cmd: nuget pack "%project_file%" -properties "Configuration=%configuration%" -version "%GitVersion_NuGetVersion%" -symbols
- cmd: nuget pack "%extras_project_file%" -properties "Configuration=%configuration%" -version "%GitVersion_NuGetVersion%" -symbols
現在,我有這兩個.proj
-files,其中包含相應的.nuspec
-file:
<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<authors>$author$</authors>
</metadata>
</package>
最後,我有一點點增加爲extras_project_file
:
<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<authors>$author$</authors>
<dependencies>
<dependency id="***project_name***" version="$version$" />
</dependencies>
</metadata>
</package>
實際上,project_name由於簡單原因被替換爲硬編碼值 - 沒有使用
-properties
注入。其次,儘管對於實際包裝是強制性的,但任何項目相關要素(例如description
和authors
)都被忽略以提供中性問題。
project_file
被成功地填充:
試圖從 'Caliburn.Micro.Contrib.Controller.csproj' 建立包。
MSBuild自動檢測:從'C:\ Program Files(x86)\ MSBuild \ 14.0 \ bin'使用msbuild版本'14.0'。
打包來自'C:\ projects \ dotnet-caliburn-micro-contrib-controller \ src \ Caliburn.Micro.Contrib.Controller \ bin \ Release'的文件。
將'Caliburn.Micro.Contrib.Controller.nuspec'用於元數據。
找到packages.config。使用作爲依賴關係列出的軟件包
已成功創建軟件包'C:\ projects \ dotnet-caliburn-micro-contrib-controller \ Caliburn.Micro.Contrib.Controller.0.1.0-unstable0068.nupkg'。
鑑於extras_project_file
失敗:
試圖從 'Caliburn.Micro.Contrib.Controller.Extras.csproj' 建立包。
MSBuild自動檢測:從'C:\ Program Files(x86)\ MSBuild \ 14.0 \ bin'使用msbuild版本'14.0'。
打包來自'C:\ projects \ dotnet-caliburn-micro-contrib-controller \ src \ Caliburn.Micro.Contrib.Controller.Extras \ bin \ Release'的文件。
使用'Caliburn.Micro.Contrib.Controller.Extras.nuspec'作爲元數據。
找到packages.config。使用列爲依賴項的軟件包
不支持使用SemVer 2.0.0的版本:0.1.0-unstable.68 + Branch.develop.Sha.7f85e35f315f7fe3ecd35762b65802e5467a57c2。
我甚至不確定此功能(代碼替換<dependencies>
)是否實際可用。
如果不是,我還能如何將兩個.csproj
文件打包成兩個單獨的.nupkg
文件,其中一個文件依賴於另一個版本與特定版本(與要構建的包相同的版本)?