私はウェブサイト用にたくさんのJavaScriptをパッケージ化しています。これが私の.nuspec
のように見えます。
<?xml version="1.0"?>
<package xmlns="http://schemas.Microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<version>$version$</version>
<authors>Author Person</authors>
<owners>Company Name</owners>
<id>PackageNameId</id>
<title>PackageNameId</title>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Description text stuff</description>
<copyright>Company Copyright Info</copyright>
</metadata>
<files>
<file src="www\**" target="" /> <!--It just packages everything in the www folder in the same directory as this .nuspec -->
</files>
</package>
そのwwwフォルダにすべてをパッケージ化するだけです。 $version$
トークンは、TFS(私が構築しているもの)のNugetPackageバージョンフラグに置き換えられる必要があります。
value
と呼ばれるものが何も表示されないので、エラーがスローされる理由に本当に戸惑っています。
完全なエラーは次のとおりです。
Attempting to build package from 'PackageName.nuspec'.
##[error]Value cannot be null or an empty string.
##[error]Parameter name: value
nuspec
ファイルではなくcsproj
ファイルでnuget pack
を実行するとこのエラーが発生する可能性があります。
これ open NuGetの問題 から学んだように、AssemblyInfoトークンの置換(例:<version>$version$</version>
)は、nuget pack
を呼び出している場合にのみ機能します。 .csprojまたは.vbprojファイル。 NuGetドキュメント からの引用:
プロジェクトはトークン値のソースであるため、トークンの置換にはプロジェクトファイルを直接使用する必要があります。 .nuspecファイルでnugetパックを使用する場合、トークンの置き換えは行われません。
使用している既存のパッケージを取得し、バージョンを削除しました(例:<version></version>
)。 nugetパックmypackage.nuspecを実行しようとしたときに発生したエラー:
Attempting to build package from 'mypackage.nuspec'.
Value cannot be null or an empty string.
Parameter name: value
Nuspecファイルには4つの必須値があります。
このエラーが発生しているので、$ version $トークンが適切に渡されていないか、正しく使用されていないと思います。