Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 什么是VisualStudio项目引用?_C++_Visual Studio_Visual C++_Visual Studio Project - Fatal编程技术网

C++ 什么是VisualStudio项目引用?

C++ 什么是VisualStudio项目引用?,c++,visual-studio,visual-c++,visual-studio-project,C++,Visual Studio,Visual C++,Visual Studio Project,我在项目的“框架和引用”选项卡上发现,我可以“添加新引用…”到我的项目中,这是什么功能?引用用于将其他库拉入项目中。例如,在创建Windows项目时,您将使用Windows窗体、XML解析器、套接字库和许多其他有用的东西。现在,你可以从头开始创建所有这些,但那将是一项疯狂的事业。相反,您可以使用预先构建的库,例如System.Windows.Forms(所有表单内容)、System.Xml(Xml解析器内容)等 在底层,这些都是由Microsoft预编译并随Visual Studio一起分发的D

我在项目的“框架和引用”选项卡上发现,我可以“添加新引用…”到我的项目中,这是什么功能?

引用用于将其他库拉入项目中。例如,在创建Windows项目时,您将使用Windows窗体、XML解析器、套接字库和许多其他有用的东西。现在,你可以从头开始创建所有这些,但那将是一项疯狂的事业。相反,您可以使用预先构建的库,例如
System.Windows.Forms
(所有表单内容)、
System.Xml
(Xml解析器内容)等

在底层,这些都是由Microsoft预编译并随Visual Studio一起分发的DLL文件。“添加引用”允许您向项目中添加新的引用,例如,Managed DirectX for 3D不是常用的,因此必须手动添加到项目中


我也注意到了C++标签,所以这听起来可能很有说服力(因为我可能已经把问题的范围搞错了),在这种情况下,我不是故意的。对于C++,它将被用于C++的尝试,这是微软允许C++在Visual Studio 2010 Express中使用C++ .c/c++的.NETFramework。

< P>,添加一个项目引用(参见第一个图像,用德语文本,但是你得到了这个想法),将一个节点添加到下面的代码> VCXPROJ< /COD>文件:

<ItemGroup>
  <ProjectReference Include="..\Ws1Lib\Ws1Lib.vcxproj">
    <Project>{22c9de39-f327-408b-9918-187c0ee63a86}</Project>
  </ProjectReference>
</ItemGroup>

{22c9de39-f327-408b-9918-187c0ee63a86}
这将使被引用项目生成的静态库可用于引用项目,并向引用项目添加不可移动的项目依赖项(右键单击项目并选择项目依赖项,请参见第二幅图)

(当您打开并查看
diff
时,此类单击操作对项目配置文件的影响变得明显)

要创建一个或多个项目引用静态库项目的设置,请参阅本MSDN指南:


使用C++/CLI语言编写代码时,这一点非常重要。不要混淆C++语言,所以如果我正确地理解了:它只是链接静态库(已经构建)到连接期间的当前项目?这与为project.Aha的链接器输入设置添加.lib有何不同,因此您正在链接本机库。在这种情况下,我的帖子可能确实显得很高人一等,对此我深表歉意。引用基本上只是.NET方式,用于C++/CLI。它与静态库无关(引用仍然用作动态库);引用用于项目系统,用于本地C++项目。