[英]What does creating a Solution using a template in Visual Studio actually do versus an empty project?
[英]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.vcxproj和Library.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.