簡體   English   中英

Visual Studio:添加項目/添加為鏈接,而不僅僅是添加

[英]Visual Studio: Add Item / Add as link rather than just Add

我是視覺工作室的新手,來自 Delphi。

我有一個充滿 .cs 文件的目錄樹(root 是 \\Common)。
我還有一個充滿應用程序的目錄樹(根是 \\Applications)
最后,我有一棵裝滿 Assemblies 的樹(根是 \\Assemblies)

我想將我的 .cs 文件保存在 Common 樹中,並將所有環境 voodoo(解決方案、項目、設置、元數據、調試數據、bin 等)保存在 Assmblies 樹中。 因此,舉一個簡單的例子,我有一個名為 PdMagic.Common.Math.dll 的程序集。 解決方案和項目位於 \\Assemblies\\Common\\Math。 它的所有源 (.cs) 文件都在 \\Common\\Math 中。 (matrix.cs、trig.cs、mathtypes.cs、mathfuncs.cs、stats.cs 等)

當我使用 Add Existing Item 將 matrix.cs 添加到我的項目時,它的一個副本被添加到 \\Assemblies\\Common\\Math 文件夾中。 我只是想參考一下。 我不想放置多個副本。 我試過添加現有項目,並使用下拉菜單“添加鏈接”而不僅僅是“添加”,這似乎是我想要的。

問題:這種事情的“最佳實踐”是什么? 大多數人是否只是將這些 .cs 文件全部放在與項目相同的文件夾中? 為什么“添加鏈接”不是默認設置?

謝謝!

您可以通過單擊Add--> Existing Item命令中添加按鈕右側的小向下箭頭來使用Add As Link ...

(感謝彼得)

雖然我意識到這不是對原始問題(關於最佳實踐)的回答,但我提出這個答案是為了節省其他人的時間,他們被這個問題的誤導性標題引導到這里。

在這種情況下,“最佳實踐”是不與工具作斗爭。 它允許您做您想做的事,但如果您讓 IDE 為您組織您的項目,您將完成更多工作並能夠專注於代碼。

我將創建一個名為 PdMagic.Common 的空解決方案項目

這會給你一個文件結構,如

PdMagic.Common\
PdMagic.Common\PdMagic.Common.sln

然后我通常添加一個 src 和 libs 文件夾(通過文件系統,而不是 VS)

在 libs 文件夾中,我將放置我所有的第三方依賴項,而 src 文件夾將保存我所有的項目

PdMagic.Common\
PdMagic.Common\PdMagic.Common.sln
PdMagic.Common\libs
PdMagic.Common\libs\nunit
PdMagic.Common\src

接下來,在 Visual Studio 中,我將右鍵單擊我剛剛創建的解決方案,然后單擊“添加 -> 新項目”,我將指定我希望在 \\src 文件夾中創建它並將其命名為 PdMagic.Common.Math

現在我的文件夾結構看起來像這樣

PdMagic.Common\
PdMagic.Common\PdMagic.Common.sln
PdMagic.Common\libs
PdMagic.Common\libs\nunit
PdMagic.Common\src
PdMagic.Common\src\PdMagic.Common.Math
PdMagic.Common\src\PdMagic.Common.Math\PdMagic.Common.Math.csproj
PdMagic.Common\src\PdMagic.Common.Math\Class1.cs

然后,當您將類添加到 PdMagic.Common.Math 項目時,它們將進入項目文件所在的文件夾中。 這就是 IDE 認為我們應該如何工作的方式,我認為大多數開發人員都會采用它,因為試圖在文件系統上獲得任何其他布局都需要與 IDE 進行過多的斗爭。 我知道很難來自不同的約定,並且您本能地希望在新環境中使用相同的約定。 但是,如果您堅持約定(在您看來是對還是錯),您將完成更多工作,因為您不會試圖強迫 IDE 以您認為應該做的方式做事。

我認為“最佳實踐”是將那些“通用”例程放入一個可以引用的程序集中,而不是將源文件放入一堆不同的項目中。 您可以使用“添加引用...”將其添加為預構建的程序集,或者通過包含該程序集的項目並添加對項目的引用(也在“添加引用...”對話框中完成)。

這是最初似乎需要一些工作(可能確實如此)的事情之一,但從長遠來看,它通常會得到回報。

如果您想在您的項目中“引用”matrix.cs,請不要使用“添加現有項”,而是創建對 matrix.cs 所屬的類庫或對象的引用(“添加引用”)。 如果您不想要(或不能使用)matrix.cs 所屬的庫或對象,那么添加鏈接就是您獲得它的方式,但說真的,我從未使用過該特定功能。

我曾經在 .NET 中工作過的開發人員都沒有將他們的 .cs 文件隔離在單獨的文件夾中。 我所看到的唯一一種類似的隔離是在 MVC 中,模型、視圖和控制器都在它們自己的文件夾中。

因為要在項目中引用matrix.cs,不要只用AddExistigItem,新建一個referene給類。

在 Visual Studio 2019 中,它是:

  1. 右鍵單擊一個項目
  2. 添加
  3. 現有項目
  4. 選擇文件
  5. 展開添加旁邊的菜單
  6. 添加為鏈接

第一的 第二

和 SourceShare: http ://visualstudiogallery.msdn.microsoft.com/aa5d54dd-0b05-4689-ad2f-634e86de327f?SRC=VSIDE

暫無
暫無

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

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