2011-11-24 46 views
7

我正在通過從資源管理器中拖放來將文件夾添加到Visual Studio 2008項目中。我想將該文件夾中整個文件的「複製到輸出目錄」屬性更改爲「始終複製」。在Visual Studio 2008項目中更改文件夾中整個文件的屬性

問題是該文件夾包含許多子文件夾,所以子文件夾..所以有點惱人的是不能夠阻止所有文件並在一個步驟中更改屬性。

有沒有辦法在一個程序中更改包含多個子文件夾的文件夾中的所有文件的屬性?

很多感謝...

+1

我敢肯定,你可以有一個整潔的小PowerShell腳本,如果你想更新的csproj文件中的這些內容節點到項目文件中。 :D – Russell

回答

3

如果你真的有很多的子文件夾,然後&文件,你可以嘗試這些步驟

  1. 創建空虛的項目,您的文件夾添加到項目
  2. 保存項目,並打開項目文件在一個良好的文本編輯器
  3. 該項目文件現在將對您要更改構建行動
  4. 刪除大於內容的標籤以外的所有其他標籤(這是指對您的文件)
  5. 所有文件10
  6. 做簡單找&取代//>/n(斜槓&斜角支架後跟新行)與">/n<CopyToOutputDirectory>Always<//CopyToOutputDirectory>/n<//Content>"。 (請注意,我使用記事本++,因此有斜線)。如果你的工具不支持它,你總是可以省去新的行。如果你的工具支持它,你甚至可以嘗試使用正則表達式找到&。
  7. 您可能需要調整文件路徑(如果您的新項目具有不同的文件夾層次結構) - 這可以通過查找&替換Include="來實現。
  8. 粘貼要修改
+0

我曾嘗試過所有解決方案,並且我認爲最好的方法取決於情況本身。如果你有很多子文件夾,結構簡單,那麼Paul的建議是快速,簡單和適用的。但是,如果子文件夾的深度不同,我會選擇Valamas或VinayC的想法。我選擇這個作爲其詳細步驟的答案。謝謝你所有的迴應:) –

1

我只知道編輯csproj文件。你可以創建一個實用程序來幫助你做到這一點。

我做了一個快速測試,結果如下。

<Content Include="Test.css" /> 

改變屬性後...

<Content Include="Test.css"> 
    <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
</Content> 
+0

否定的原因? –

+0

謝謝你的回覆..我會試一試併發布結果... –

+0

+1寫一個實用程序,或使用文本編輯器 –

4

剛剛展開所有文件夾。一次選擇所有文件,並將生成操作更改爲「始終複製」。您可以選擇最上面的項目,按住Shift鍵,選擇最後一個項目,然後選擇所有項目。

+0

正如OP所述,當文件跨越多個文件夾時,做這個。 –

+1

確實如此,我一直這樣做。 –

+0

使用此方法,只有'File Name'屬性存在。 –

相關問題