web-dev-qa-db-ja.com

nugetパッケージからフォルダーを除外する方法

Octopack/Nuspecファイルを使用してnugetパッケージをビルドしています。

プロジェクトに存在する特定のフォルダを除外したいと思います。例えば「obj」ファイル。除外タグを機能させようとしていますが、うまくいきませんでした。 nugetファイルがビルドされますが、フォルダーはまだそこにあります。

残念ながら、フォルダではなく、ネット固有のファイルタイプのすべての例。

<?xml version="1.0"?>
<package xmlns="http://schemas.Microsoft.com/packaging/2010/07/nuspec.xsd">
  <metadata>
    <id>Foo</id>
    <title>Foo</title>
    <version>$version$</version>
    <authors>NA</authors>
    <owners>NA</owners>
    <licenseUrl>http://Foo</licenseUrl>
    <projectUrl>http://Foo</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Foo</description>
    <releaseNotes>NA</releaseNotes>
  </metadata>
  <files>
    <file src="obj\**\*.*" exclude="*.*" />
  </files>
</package>
16
Kye

Webアプリケーションを作成する必要がありましたが、「CodeFile」属性を使用して標準のASP.NETWebサイトとして展開します。

これは基本的に、標準のADFSログインサイトのページを更新するためのものでした。

  <files>
    <file src="**" exclude="**\*.dll;**\*.designer.cs;**\*.csproj;**\*.pdb;**\*.user;**\*.vspscc;bin\*.cs;bin\*.aspx;bin\*.config;bin\*.asax;bin\*.pubxml" />
  </files>
25
Kye

ポスターの質問に直接回答するには、Nugetパッケージからobjフォルダーのみを除外する場合は、nuspecxmlで次を使用します。

<files>
    <file src="*\**" target="\" exclude="obj\**\*.*"/>
</files>
10
KShan

構築しているプロジェクトによっては、何も除外する必要はありません。

Windowsサービス/コンソールアプリケーションを構築している場合、OctoPackはbin\releaseディレクトリのみをパッケージ化する必要があります。

Webアプリケーションを構築している場合は、「publish」コマンドを使用して、MSBuildにバイナリとコンテンツファイルを一時フォルダーに送信させる必要があります。OctoPackはそれをパッケージ化します。このようにして、objフォルダーとC#ファイルはパッケージ化されません。

これを行う方法については、次のWebアプリケーション公開のセクションを参照してください。

http://octopusdeploy.com/documentation/packaging/octopack

1
Paul Stovell