2015-07-02 22 views
1

在我的C#項目中,我在文件夾中有一些.docx,.xlsx,*。jpg文件,我想將所有這些文件設置爲Content,而Setup and Deployment Project我想將所有這些文件爲Content Output因爲我已經完成以下步驟:創建鏈接到文件時VS2010警告

  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文件夾,爲什麼我得到這樣的警告我做錯了什麼?忽略這些警告是安全的嗎?

更新

加入<Visible>false</Visible>刪除警告後修改的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> 

之後,但是這是正確的方式?

回答

0

根據:MSDN: The file 'file' could not be added to the project,其中一個原因是相對路徑不明確。這意味着文件路徑Lib/MyApp/Files/abc.bmp既可以作爲項目文件夾中的文件路徑,也可以作爲導致不明確性的D:驅動器。這是我的猜測。手動添加文件到項目文件夾可能會導致問題。

+0

因此,這是安全的忽略或我需要做的事情? – Amogh

+0

鑑於我從來沒有試圖手動添加我的鏈接或文件,我不能給你一個明確的答案。我一定會在將來注意到它應該出現的事情。 – Adam

+0

後加' false'刪除了所有警告,但我不確定這是正確還是錯誤。請參閱相關更新部分。 – Amogh