NuGet包dll的+内容文件=失败?

时间:2011-05-05 16:10:24

标签: nuget nuget-package

我创建了一个nuget包。我把一些文件和文件夹放在“内容”文件夹中,效果很好。所以我添加了一个带有dll的bin文件夹,并把它放在我的nuspec文件中:

  <files>
     src="bin\*.dll" target="lib" />
  </files>

dll很好地放在引用中,但内容不再被复制了。

我怎样才能让他们都工作?

@Edit

我知道有这个:

<file src="content\Controllers\*.*" target="Controllers" />
<file src="content\Views\Account\*.*" target = "Views\Account" />
<file src="bin\*.dll" target="lib" />

包中包含正确的结构和文件,但文件不会复制到我的项目中。

文件位于文件夹结构中。当我将它们直接放入我的内容文件夹时,它被复制到我的项目的根目录......

1 个答案:

答案 0 :(得分:12)

当您在nuspec中定义文件部分时,我们不再执行基于“自动”/“约定”的包创建。我们看到它正如您告诉我们要包含的内容所以我们不包括列表中没有的内容。只需将内容文件夹添加到该列表中即可。

编辑以包含来自回答者评论的评论

NuSpec文件“files”部分告诉NuGet在解包时将文件放在包中的文件不在sln / proj中。你想这样写:

<file src="content\Controllers*.*" target="content\Controllers" /> 
<file src="content\Views\Account*.*" target = "content\Views\Account" /> 
<file src="bin*.dll" target="lib" />