2017-02-13 41 views
2

インストールされているプロジェクトにテキストファイルを追加するコンテンツ専用のNugetパッケージを作成しました。 nuget restoreの間に復元したい場合は、のテキストファイルを使わずにチェックしました。 CIマシンがパッケージを復元しようとするまでは、すべて正常です。リストアは成功しますが、テキストファイルは追加されません。どうやら、nugetは、プロジェクトファイルに参照があるので、テキストファイルはすでに存在していると考えています。コンテンツのみのNugetパッケージがコンテンツの復元に失敗する

テキストファイルを復元するにはどうすればよいですか?

基本的に、私が望む動作はDLLファイルと同じです。パッケージがインストールされると、DLLへの参照がプロジェクトに追加されます。パッケージが復元されると、プロジェクトファイル内の参照を満たすためにDLLが復元されます。テキストファイルの場合と同じ動作が欲しいです。これは可能ですか?このような最上位のフォルダ(私の.nuspecから抜粋)にテキストファイルを入れていた私は何をやってしまった

答えて

0

:パッケージがインストールされている場合

</metadata> 
    <files> 
     <file src="dictionary.txt" target="dictionary.txt" /> 
    </files> 
</package> 

ので、ファイルが投入されます/packages/MyPackage.0.0.6などのような.csprojから参照:次に、ファイルは次のように.csファイルから読み込まれ

<ItemGroup> 
    <EmbeddedResource Include="$(SolutionDir)packages\MyPackage.0.0.6\dictionary.txt" /> 
</ItemGroup> 

var stream = Assembly.GetExecutingAssembly() 
      .GetManifestResourceStream(GetType(), "dictionary.txt"); 

これは私に望ましい動作をもたらしました。パッケージが復元されると、ファイルは復元され、参照が指しているところに正確に置かれます。

関連する問題