簡體   English   中英

在 Visual Studio 2012 中的 C# 項目中更改文件完整路徑

[英]Change file full path in a C# project in Visual studio 2012

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

擴展@TheSolution的回答

  1. 文件 > 新建項目(或解決方案 > 右鍵單擊​​ > 添加新項目)> 類庫——將其命名為“MyProject.Common”
  2. 將現有文件 ( Shift+Alt+A ) 添加到項目 > 選擇要共享的文件。 或復制/粘貼
  3. 刪除原始項目中的舊文件,因為它們已被復制到共享項目中
  4. 然后在要使用公共文件的項目中項目>添加引用>從左側面板的“解決方案>項目”下選擇,選中“公共”項目並選擇“確定”
  5. 在使用公共代碼的代碼文件頂部的using部分中包含命名空間。

如果您要重命名 C# 項目及其文件夾,則必須在解決方案中重命名項目后,在.sln.csproj文件中手動執行此操作。 例如)如果您想將“ME.MyProject”重命名為“ME.YourProject”:

  1. 項目 > 屬性(解決方案資源管理器中項目上的ALT+ENTER
  2. 更改“程序集名稱”和“默認命名空間”
  3. 關閉VS(或卸載解決方案)
  4. 重命名文件夾
  5. 在文本編輯器中打開.sln文件並按照以下手動步驟操作
  6. 打開引用此項目的所有其他項目的.csproj文件,並將引用從“MyProject”更改為“YourProject”。 或者,在 VS 中刪除並重新添加項目引用。

.sln :

前:

請注意,項目文件已重命名,但未重命名路徑。

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

后:

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

.csproj :

前:

<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>

如果您想共享代碼文件,則可以將其添加為鏈接文件。 您可以通過右鍵單擊項目,選擇添加現有項目,在打開文件對話框中找到項目,然后在選擇它之前下拉打開按鈕並選擇鏈接選項來完成此操作。

現在,這會將代碼文件鏈接到該項目——或者換句話說——當它在一個地方發生變化時,它在兩個地方都發生了變化。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM