4

スクリプトを使用して NuGet にデプロイしようとしています。実際の展開を行うための次のコマンドがあります。

nuget pack MyProjection.csproj -Build -Properties Configuration=Release

NuGet の Web サイトで提供されている例に基づくと、これは正しいコマンド ラインです。-Prop一部の例ではではなくを使用していることに気付きました-Propertiesが、それは問題ではないと思います。

ただし、NuGet は次のように出力します。

Attempting to build package from 'MyProject.csproj'.
Building project for target framework '.NETFramework,Version=v4.0'.
Packing files from 'C:\Users\...\MyProjection\bin\Debug'.
Using 'MyProject.nuspec' for metadata.
Successfully created package 'C:\Users\...\MyProject\MyProject.2.2.0.0.nupkg'.

Debugフォルダーではなくフォルダーにファイルをパッケージ化していることに注意してReleaseください。

設定を削除すると、想定-Buildどおりにファイルが取得Releaseされます。最初の質問は、自分のプロジェクトのデバッグ バージョンを公開しているかどうかです。2 番目の質問は、これら 2 つのコマンド引数を一緒に使用するにはどうすればよいかということです。

必要に応じて、MSBuild を使用してプロジェクトをビルドします。

4

1 に答える 1

4

プロジェクトをパックするとき、nuget は現在のプロジェクト設定を使用し、コマンド ラインから渡された構成オプションを無視します。たとえば、同じことが basepath 引数にも当てはまります。

既定の構成を release に変更すると、nuget はリリース ビットを使用してパッケージをビルドします。.csproj で次を探します。

  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

それを次のように変更します。

  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
于 2013-02-19T18:52:40.583 に答える