VS2010在创建文件链接时发出警告

问题描述 投票:2回答:2

在我的C#项目中,我有一些.docx,.xlsx,*.jpg文件在一个文件夹中,我想把所有这些文件都制作成 ContentSetup and Deployment Project 我想把所有这些文件添加为 Content Output 为此,我做了以下步骤。

  1. 从属性窗口卸载项目,然后选择编辑.csproj文件。
  2. 在下面的行中添加了 <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>
    
  3. 重装项目

重装项目后,我得到了很多警告,如

警告 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> 删除了警告,但这是正确的方式吗?

c# visual-studio-2010
2个回答
0
投票

根据。MSDN: 文件 "文件 "不能被添加到项目中。其中一个原因是相对路径模糊不清。也就是说,你的文件路径是 Lib/MyApp/Files/abc.bmp 作为项目文件夹中的文件路径,也可以在你的 D: 导致模糊不清的驱动力。这是我的猜测。手工添加文件到项目文件夹会导致问题。


0
投票

在项目文件夹中添加 <Visible>false</Visible> 似乎是摆脱Visual Studio警告的一个非常方便的解决方案。

该文件 <filename> 不能被添加到项目中。该文件在项目目录树中。

© www.soinside.com 2019 - 2024. All rights reserved.