C# 在Visual Studio中使用共享库项目的多个解决方案
我有一个包含多个项目的独立解决方案,包括类库和控制库。此解决方案及其所有项目均受TFS源代码管理 在我开发的所有新项目中,我都会引用一个或多个库的输出。引用当前是二进制的,而不是项目引用 新项目也总是在源代码控制下,现在我需要为库添加调试支持 如果从中引用库项目,项目文件将被修改,并且不再与原始库解决方案一起使用,因为库和引用的源代码管理提供程序可能不同 有没有一种简单的方法来适应这种情况?没有 不过,您可以使用一些策略。最简单的方法(可能是,但在某些情况下不是)是构建要调试的项目,将二进制文件放在承载它们的应用程序的顶部,并将调试器附加到正在运行的应用程序。这可以确保您在调试中拥有正确版本的程序集,但您可能必须执行不需要的操作,例如确保您没有针对特定版本的程序集C# 在Visual Studio中使用共享库项目的多个解决方案,c#,.net,visual-studio,tfs,reference,C#,.net,Visual Studio,Tfs,Reference,我有一个包含多个项目的独立解决方案,包括类库和控制库。此解决方案及其所有项目均受TFS源代码管理 在我开发的所有新项目中,我都会引用一个或多个库的输出。引用当前是二进制的,而不是项目引用 新项目也总是在源代码控制下,现在我需要为库添加调试支持 如果从中引用库项目,项目文件将被修改,并且不再与原始库解决方案一起使用,因为库和引用的源代码管理提供程序可能不同 有没有一种简单的方法来适应这种情况?没有 不过,您可以使用一些策略。最简单的方法(可能是,但在某些情况下不是)是构建要调试的项目,将二进制文件
这对于正在开发的程序集来说可能是个坏消息。它还需要大量的手工工作,这取决于您的应用程序运行的位置,可能需要您运行远程调试、处理跨不受信任网络传输DLL的问题等。您应该将共享二进制文件以及索引PDB打包到Nuget包中。Nuget是专门为解决这些问题而设计的
您可以通过运行索引工具来索引PDB。TF Build可以自动为PDB编制索引。您是否尝试过在新项目的解决方案-->添加-->现有项目上单击鼠标右键,然后浏览所需的库?我不是100%确定,因为我目前没有访问VS的权限,但我认为这可能会解决您的问题。如果可以的话,请查看在TFS构建过程中包含nuget packager。在这种情况下,将特定版本保持为false是一个很好的指针,但答案似乎是“不”。希望以这种方式附加项目的目的是在任何场景中更改库(使其始终处于开发中)。保留两个VisualStudio调试实例(这是我已经做过的)似乎是唯一的方法。