簡體   English   中英

Visual Studio 的“添加引用”實際上是做什么的?

[英]What does Visual Studio's "Add reference" actually do?

我正在使用構建系統,更具體地說是使用MSBuild和 Visual Studio 2019。我正在使用 C++,我正在嘗試深入了解幕后發生的事情。 我正在檢查.sln.vcxproj文件以及它們之間的關系。 現在,這兩個文件都是描述 MSBuild 系統屬性的 xml 文件。 我有一個非常簡單的設置:

解決方案設置

包含以下內容的 Visual Studio 解決方案:

  • CppTesting 項目(內容類型 - 應用程序,.exe)

  • 庫項目(內容類型 - 靜態庫,.lib)

通過右鍵單擊 CppTesting 項目 VS,我可以選擇“添加引用”到我的庫項目。 換句話說,將我的 CppTesting 項目與 Library 項目鏈接起來。 添加參考后,我檢查了CppTesting.vcxprojLibrary.vcxproj文件,我注意到參考沒有在其中任何一個中描述。 我也無法在.sln文件中找到它。

我的問題是:當我在 VS 中使用“添加引用”選項時究竟會發生什么。 參考文獻在哪里描述?

我正在一些 xml 文件中尋找類似“CppTesting 引用庫”的內容。 我嘗試查看項目的 C/C++ 部分,即鏈接器部分。 找不到描述此依賴項的位置。 我發現的官方文檔不夠深入,也沒有為我提供答案。

https://docs.microsoft.com/en-us/cpp/build/adding-references-in-visual-cpp-projects?view=vs-2019

編輯:解決了。 似乎引用的庫 (Library.vcxproj) 不存在於任何 XML 中,因為它是空的(或者我愚蠢到沒有保存我的項目更改)。 無論如何,我向其中添加了一些代碼,保存了解決方案及其項目,我得到了這個(這是預期的結果):

在此處輸入圖片說明

添加引用用於在解決方案中添加引用 dll 和您的項目。 要查看參考,請右鍵單擊您的項目,然后單擊卸載項目,然后再次右鍵單擊您的項目並單擊編輯 yourproject.csproj。 您會在那里找到所有參考資料。

對項目和解決方案文件的更改不會立即發生。 在 Visual Studio 中對項目或解決方案進行更改時,可以通過執行 Ctrl + Shift + S 或從文件菜單中執行全部保存來強制更新文件。

解決方案文件,各種項目文件只是文本文件(更具體地說是 XML 文件)。 這些文件包含構建系統 ( MSBUILD ) 的信息並被它“使用”。 在一般情況下,當您使用Visual Studio提供的 UI 時,您只需修改該 XML 文件(修改您提供給構建系統的輸入)。 我最初的問題誕生了,因為我在使用 VS 提供的“添加引用”功能時在項目文件中找不到任何引用的痕跡,我感到困惑。 事實證明我沒有正確保存我的項目文件/解決方案並且缺少參考。

附注:最新版本的 Visual Studio 支持其他構建系統,如CMake

暫無
暫無

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

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