![](/img/trans.png)
[英]Telerik Nuget package restore in Azure build pipeline fails
[英]Azure Pipeline (DotNetCoreCLI@2) include DLL into nuget
在將代碼庫/管道升級到 Do.net Core 的過程中。 一個項目在oldcode.dll
文件中有一些 c++ 代碼需要包含。
我們舊的“打包”管道看起來像:
- task: NuGetCommand@2
inputs:
command: 'pack'
packagesToPack: '**/ProjectName.csproj'
buildProperties: '-IncludeReferencedProjects'
這生成了具有以下文件夾結構的 nuget:
>build
--->oldcode.dll
--->project.targets
>lib
--->net472
------>project.dll
------>project.pdb
------>project.xml
將項目升級到 Do.netcore 並使用此管道不會將oldcode.dll
包含到 nuget 中
- task: DotNetCoreCLI@2
inputs:
command: 'pack'
packagesToPack: '**/ProjectName.csproj'
我已經閱讀了 DotNetCore https://github.com/NuGet/Home/issues/3891中缺少的IncludeReferencedProjects
function
這種情況最簡單的解決方法是什么? 我可以在push
之前以某種方式將oldcode.dll
中嗎?
更新----我試過這個:
並給出錯誤:
task: DotNetCoreCLI@2
inputs:
command: 'custom'
custom: 'pack **/NameOfFile.nuspec'
##[error]Error: The process 'C:\Program Files\dotnet\dotnet.exe' failed with exit code 1
這是我做錯的路嗎?
這可能是我需要做的,如果我能弄清楚如何正確完成路徑https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-using-a-nuspec
dotnet pack <path to .csproj file> -p:NuspecFile=<path to nuspec file> -p:NuspecProperties=<> -p:NuspecBasePath=<Base path>
您仍然可以將.nuspec
package 與 do.net 核心一起使用,即使您通常不需要這樣做。
因此,手動創建一個文件,包含一個<file>
元素並在該元素上而不是在項目上調用 pack:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<!-- Required elements-->
<id></id>
<version></version>
<description></description>
<authors></authors>
<!-- Optional elements -->
<!-- ... -->
</metadata>
<!-- Optional 'files' node -->
<files>
<file src="oldcode.dll" target="lib" />
</files>
</package>
您也許可以子.nuspec.
packagesToPack
參數中的csproj
文件,但如果沒有,您可以使用自定義參數。
- task: DotNetCoreCLI@2
inputs:
command: 'custom'
custom: 'pack path/to/Myproject.nuspec'
路徑應該相對於存儲庫根目錄,所以
Root
|
|__MySolutionFolder
|
|__MyProject
|
|__ProjectName.csproj
|__ProjectName.nuspec
應該是./MySolutionFolder/MyProject/ProjectName.nuspec 的相對路徑
IIRC 使用正斜杠總是安全的,但反斜杠僅適用於 Windows 代理
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.