在我的C#项目中,我有一些.docx,.xlsx,*.jpg文件在一个文件夹中,我想把所有这些文件都制作成 Content
而 Setup and Deployment Project
我想把所有这些文件添加为 Content Output
为此,我做了以下步骤。
在下面的行中添加了 <ItemGroup>
使文件夹中的所有文件都成为 Content
并将它们链接到一个文件夹
<Content Include="Lib\MyApp\Support\**\*.*">
<Link>Support\%(RecursiveDir)%(FileName).%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Lib\MyApp\Files\**\*.*">
<Link>Files\%(RecursiveDir)%(FileName).%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
重装项目
重装项目后,我得到了很多警告,如
警告 34 无法将文件 "Lib/MyApp/Files/abc.bmp "添加到项目中。 无法添加D:\MyApp\Lib\MyApp\Files\abc.bmp文件的链接。这个文件在项目目录树中。
我已经排除了 Lib
文件夹,为什么我收到这样的警告,我做错了什么?忽略这些警告是否安全。
更新
将csproj文件修改成这样后
<Content Include="Lib\QOES\Support\**\*.*">
<Link>Support\%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
</Content>
<Content Include="Lib\QOES\Files\**\*.*">
<Link>Files\%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
</Content>
在加上 <Visible>false</Visible>
删除了警告,但这是正确的方式吗?
根据。MSDN: 文件 "文件 "不能被添加到项目中。其中一个原因是相对路径模糊不清。也就是说,你的文件路径是 Lib/MyApp/Files/abc.bmp
作为项目文件夹中的文件路径,也可以在你的 D:
导致模糊不清的驱动力。这是我的猜测。手工添加文件到项目文件夹会导致问题。
在项目文件夹中添加 <Visible>false</Visible>
似乎是摆脱Visual Studio警告的一个非常方便的解决方案。
该文件
<filename>
不能被添加到项目中。该文件在项目目录树中。