2013-07-09 116 views
0

我希望能夠將.cs文件拖放到我的項目中。所以,我有手動修改.CSPROJ文件是「安全」/「不好的做法」嗎?

<Compile Include="Controls\MyControl.ascx.cs"> 

則佔到001002我想補充一個額外的行

<Compile Include="Accounts\001\Controls\MyControl.ascx.cs"> 

OR

<Compile Include="Accounts\002\Controls\MyControl.ascx.cs"> 

這將允許我根據我的賬戶覆蓋類運行該項目。

以這種方式修改CSPROJ文件是否安全,或者當我添加新文件或依賴項時,visual studio是否會覆蓋我的更改?

另外,我的方法是否合理?

+0

你可以修改這個文件,當它加載時,VS會「緩存」新的變化。 CSPROJ是一個讀/寫文件,而不是隻寫(比如說,t9輸出文件)。 –

+0

我對這個問題的態度如何?這看起來合理嗎? – webnoob

+0

你可能會變得非常複雜,並創建一個PreBuild事件來修改基於SYMBOL或其他情況的文件,但我不知道什麼時候需要「賬號」進行判斷調用。 –

回答

3

csproj文件基本上只是一個MSBuild腳本。可以修改它。在你的情況,你通常會使用一個變量,使您只有一個的csproj文件,即:

<Compile Include="Accounts\$(Account)\Controls\MyControl.ascx.cs"> 

那麼這個帳號將在您的.settings/.targets文件取決於你定義爲環境變量或某處把它從。

+0

這聽起來很有希望。我打算寫一個工具來自動更新它。您能否將我鏈接到關於'.settings' /'。tragets'文件的內容? – webnoob

+0

沒關係,我現在在MSDN上看。這回答我的問題,更謝謝你的時間。 – webnoob

0

Visual Studio項目文件是由MSBuild腳本使用的XML files。當您在您的項目上工作時,編輯會爲您更新。如果您在VS關閉時對其進行更改,則會在下次打開項目時加載這些更改。

0

如果手動編輯它們並不安全,我非常懷疑編輯項目(將其打開爲XML)的選項作爲解決方案資源管理器上下文菜單中的選項存在。 (你必須先關閉項目才能看到這個選項)

+0

安全是一個不好的選擇。我只是想確保任何改變都不會被撤銷,但我明白你的觀點。謝謝。 – webnoob

相關問題