2013-03-12 26 views
8

問題:私のNuGetパッケージから除外するVisual Studioプロジェクトに.sqlファイルがあります。これらの.sqlファイルはさまざまなディレクトリにネストされており、私はnugetパッケージからすべての.sqlファイルを正常に除外できませんでした。NuGetでタイプのすべてのファイルを除外する


1:

nuget spec 

2:私はなるようになるnuspecファイルを編集した私は私のターゲットプロジェクトで次のコマンドを実行して.nuspecファイルを作成しましたそれは次のようになります。

<?xml version="1.0"?> 
<package > 
    <metadata> 
    <id>$id$</id> 
    <version>$version$</version> 
    <title>$title$</title> 
    <authors>$author$</authors> 
    <owners>$author$</owners> 
    <requireLicenseAcceptance>false</requireLicenseAcceptance> 
    <description>Security Core Impl</description> 
    <releaseNotes>Security Core Impl</releaseNotes> 
    <copyright>Copyright 2013</copyright> 
    <tags>Security Core</tags> 
    </metadata> 
    <files> 
    <file src="**\*.dll" target="lib\net40\" exclude="**\*.sql;" /> 
    </files> 
</package> 

3:私はトンを実行します私は別のプロジェクトにこのパッケージをインストールするたびに、しかし、.SQLファイルが含まれます

nuget pack -Prop Configuration=Release 

:彼は私の.nupkgを構築するためのコマンドを以下に示します。上記の除外のいくつかのバリエーションを試してみましたが、-Excludeスイッチを試しました。何も動作していないようです。

すべての.sqlファイルがマークされていません:

  • ビルドアクション:なし
  • 出力ディレクトリにコピー:私もVisual Studioのオプションを経由して私のNuGetのキャッシュをクリアしようとしている

コピーしないでください。

注: NuGetパッケージはプライベートサーバー上でホストされています。

+0

これをnuspecなしで実行しようとしましたか?私は、生成されたnuspecを削除し、 '' nuget pack myproj.csproj -Exclude ** \ *。sql -Prop Configuration = Release'を実行することを意味します。 –

答えて

12

まったく同じ問題が発生しましたが、.txtファイルがあります。同僚が指摘した解決方法は、Build Actionを "Content"から "None"に変更することです。

+0

(facepalm)なぜ私はOP(と私)が除外を働かせることができないのか不思議です。 – FLGMwt

1

* .sqlファイルがパッケージのcontentフォルダの下にあるとしますか?

<file src="**\*.dll" target="lib\net40\" exclude="**\*.sql;" />は、lib \ net40の下にあるすべての.DLLファイルを追加するようにNuGetに指示します。あなたのインクルードにはそれが含まれていないので、SQLファイルは無視されます。

<file target="content\" exclude="**\*.sql;" />をnuspecに追加できますか?