8

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


1:ターゲット プロジェクトで次のコマンドを実行して、.nuspec ファイルを作成しました。

nuget spec

2:結果の 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:次のコマンドを実行して、.nupkg をビルドします。

nuget pack -Prop Configuration=Release

ただし、このパッケージを別のプロジェクトにインストールすると、.sql ファイルが含まれます。上記の除外のいくつかのバリエーションを試し、-Exclude スイッチを試しました。何も機能していないようです。

すべての .sql ファイルは次のようにマークされています。

  • ビルド アクション: なし
  • 出力ディレクトリにコピー: コピーしないでください

また、Visual Studio オプションを使用して NuGet キャッシュをクリアしようとしました。

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

4

2 に答える 2

14

私はまったく同じ問題を抱えていましたが、.txt ファイルを使用しています。同僚が指摘した解決策は、ビルド アクションを「コンテンツ」から「なし」に変更することです。

于 2013-06-25T14:44:32.957 に答える
1

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

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

<file target="content\" exclude="**\*.sql;" />nuspecに追加してみてください。

于 2013-03-13T07:15:12.963 に答える