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>
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>
ポスターの質問に直接回答するには、Nugetパッケージからobjフォルダーのみを除外する場合は、nuspecxmlで次を使用します。
<files>
<file src="*\**" target="\" exclude="obj\**\*.*"/>
</files>
構築しているプロジェクトによっては、何も除外する必要はありません。
Windowsサービス/コンソールアプリケーションを構築している場合、OctoPackはbin\release
ディレクトリのみをパッケージ化する必要があります。
Webアプリケーションを構築している場合は、「publish」コマンドを使用して、MSBuildにバイナリとコンテンツファイルを一時フォルダーに送信させる必要があります。OctoPackはそれをパッケージ化します。このようにして、obj
フォルダーとC#ファイルはパッケージ化されません。
これを行う方法については、次のWebアプリケーション公開のセクションを参照してください。