2013-04-09 78 views
3

在您看來,可以在C#項目中更改文件完整路徑,在Visual Studio 2012中?我問這是因爲在可視化中,包含完整路徑的項目文件的屬性框顯示爲禁用(灰色)。 我會在不同的項目中使用相同的文件,在相同的解決方案下,沒有重複的文件代碼.cs。在Visual Studio 2012中更改C#項目中的文件完整路徑

+0

你能張貼一個截圖嗎? – oleksii 2013-04-09 12:29:46

+0

只需從Windows資源管理器中移動其所有文件的項目,文件路徑(除非鏈接)始終相對於項目文件本身(並且項目不包含任何絕對路徑)。 – 2013-04-09 12:38:28

回答

1

如果你想分享一個代碼文件,那麼你可以將它添加爲鏈接文件。您可以通過右鍵單擊項目,選擇添加現有項目,在打開的文件對話框中找到項目,然後在選擇它之前下拉打開按鈕並選擇鏈接選項來完成此操作。

現在將把該代碼文件鏈接到該項目 - 換句話說 - 當它在一個地方改變時,它在兩個地方都被改變。

但是,鏈接的文件是一種非常有用的提供共享功能的方式。更合適的方法是使用該功能構建一個類庫並將該DLL添加爲該項目的引用。這意味着你需要有一種方法來保持這個DLL是最新的 - 但它通常更合適。

3

爲了擴大對@ TheSolution的answer

  1. 文件>新建項目(或方案>右鍵 - >添加新項目)>類庫 - 它命名爲像「MyProject.Common」
  2. 添加現有文件(Shift + Alt + A)將項目>選擇要共享的文件。或者複製/粘貼
  3. 刪除舊文件的原始項目,因爲他們已經在要使用公用文件的項目被複制到共享項目
  4. 然後,項目>添加引用>選擇在左側面板的「解決方案>項目」下,選中「Common」項目並選擇「確定」
  5. 在使用公共代碼的代碼文件頂部的using部分中包含名稱空間。

如果你在談論重新命名了C#項目及其文件夾,你必須在.sln.csproj文件在解決方案重命名該項目之後手動做到這一點。如果要重命名 「ME.MyProject」 到 「ME.YourProject」 前):

  1. 項目>屬性(ALT +在解決方案資源管理項目ENTER
  2. 同時改變 「大會名稱」 和「默認名稱空間」
  3. 關閉VS(或卸載溶液)
  4. 重命名的文件夾
  5. 打開.sln文件中的一個文本編輯器,並按照下面
  6. 打開的手動步驟引用此項目的所有其他項目的文件並將引用從「MyProject」更改爲「YourProject」。或者,在VS中刪除並重新添加項目引用。

.sln

BEFORE:

注意,項目文件已被重命名,但不是路徑。

Project("{SOMEGUID}") = "ME.YourProject", "ME.MyProject\ME.YourProject.csproj", "{ANOTHERGUID}" 
EndProject 

AFTER:

Project("{SOMEGUID}") = "ME.YourProject", "ME.YourProject\ME.YourProject.csproj", "{ANOTHERGUID}" 
EndProject 

.csproj

BEFORE:

<ProjectReference Include="..\ME.MyProject\ME.YourProject.csproj"> 
    <Project>{ANOTHERGUID}</Project> 
    <Name>ME.YourProject</Name> 
</ProjectReference> 

後:

<ProjectReference Include="..\ME.YourProject\ME.YourProject.csproj"> 
    <Project>{ANOTHERGUID}</Project> 
    <Name>ME.YourProject</Name> 
</ProjectReference> 
+0

另請參閱http://stackoverflow.com/questions/211241/how-do-i-rename-a-project-folder-from-within-visual-studio以獲取關於第二種解釋的更多信息 – drzaus 2013-07-26 16:32:40

相關問題