NuGet包引用导致项目中出现新文件夹

时间:2019-01-24 22:29:03

标签: c# visual-studio nuget

我有项目“ A”和项目文件夹“ Folder1”和“ Folder2”。
我已经把这个项目放到了NuGet仓库中。
我有需要通过Nuget使用项目“ A”的项目“ B”。

在项目“ B”中,我添加了对“ A”的NuGet引用。 Visual Studio完成下载和附加库后,由于某些原因,文件夹“ Folder1”和“ Folder2”已出现在“ B”中。

Q1:为什么会这样?
问题2:如何在没有这些文件夹的情况下使“ B”工作?仅仅删除不是解决方案,我需要定期更新“ A”和“ B”。

2 个答案:

答案 0 :(得分:1)

在包含文件的<Content>标记中,将CopyToOutputPath设置为false。

<Content Include="Folder1;Folder2">
    <CopyToOutputPath>false</CopyToOutputPath>
</Content>

这将包括NuGet软件包中的文件夹,但不会将它们复制到第二个项目的根目录(在您的情况下为B)。

答案 1 :(得分:0)

  

NuGet程序包引用在项目中导致新文件夹

根据您的描述,可以在content文件中将“ Folder1”和“ Folder2”的目标文件夹设置为.nuspec

基于convention-based working directory,将内容中的文件复制到项目根目录:

enter image description here

.nuspec文件如下:

<files>
    <file src="xxx\Folder1" target="content\Folder1" />
</files>

要解决此问题,可以将目标文件夹更改为其他文件夹,例如Tools文件夹。

希望这会有所帮助。