如何在Visual Studio的版本控制下在解决方案中引用和发布外部/第三方.NET DLL? 快速问题
如何正确添加对外部/第三方.NET DLL的引用(它不是NuGet包,也不在GAC中),并强制将其作为Visual Studio中解决方案的一部分(在版本控制下)提供 长话短说如何在Visual Studio的版本控制下在解决方案中引用和发布外部/第三方.NET DLL? 快速问题,.net,visual-studio,version-control,.net-assembly,projects-and-solutions,.net,Visual Studio,Version Control,.net Assembly,Projects And Solutions,如何正确添加对外部/第三方.NET DLL的引用(它不是NuGet包,也不在GAC中),并强制将其作为Visual Studio中解决方案的一部分(在版本控制下)提供 长话短说 我有一个Visual Studio 2013解决方案,其中包含两个.NET项目。该解决方案受源代码管理。当然,项目使用了很多已安装的NuGet软件包。但是其中一个项目需要引用一个外部/第三方.NET DLL,该DLL不能作为NuGet包使用,也不能驻留在GAC中。如果我只是在项目中添加一个对该DLL的引用,它目前可以正常
我有一个Visual Studio 2013解决方案,其中包含两个.NET项目。该解决方案受源代码管理。当然,项目使用了很多已安装的NuGet软件包。但是其中一个项目需要引用一个外部/第三方.NET DLL,该DLL不能作为NuGet包使用,也不能驻留在GAC中。如果我只是在项目中添加一个对该DLL的引用,它目前可以正常工作。但是,在我签入修改后的变更集后,任何获得最新版本解决方案的人都会遇到构建问题,因为该用户的计算机上没有被引用的.NET DLL。您可以在需要DLL的项目中创建一个新文件夹,然后从此处引用项目中的DLL,然后在DLL中选中KCK。
当其他用户将获得最新的项目/解决方案时,他们将自动获得此dll,并且在构建时不会遇到问题。我看到了两种可能的解决方案
<好运> 您可以考虑在源代码管理中检查外部DLL。在项目文件夹中创建一个“Externals”文件夹,并将外部DLL放在那里。使用此路径引用外部DLL。这应该适用于其他开发人员,以及当他们签出时,他们将在csproj中拥有DLL和适当的相对路径 谢谢你的两种选择!这一次我将研究第一个方案,但将考虑将来第二个方案的可能性。如果我在解决方案文件夹下创建文件夹并将外部DLL复制到该文件夹,则源代码管理模块不会将所有这些操作检测为对我的解决方案的挂起更改。请您更详细地解释一下,我如何通过源代码管理来检测“lib”文件夹的创建,其中包含所需的外部.NET DLL?不幸的是,visual studio不会自动检测到挂起的更改,但这可以通过SourceControl Expolor轻松完成。导航到您的项目/分支机构/解决方案文件夹,右键单击该文件夹并选择“将项目添加到文件夹…”。将弹出一个向导,向您显示可用文件夹的列表。选择你的Lib文件夹并点击next。最初,TFS将忽略DLL,但您可以在Excuded items选项卡中找到它们。单击“排除”选项卡,包括它们并单击“完成”。然后dll将出现在挂起的更改中,并可以签入。