Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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/2/.net/22.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/6/xamarin/3.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# 在Visual Studio中使用共享库项目的多个解决方案_C#_.net_Visual Studio_Tfs_Reference - Fatal编程技术网

C# 在Visual Studio中使用共享库项目的多个解决方案

C# 在Visual Studio中使用共享库项目的多个解决方案,c#,.net,visual-studio,tfs,reference,C#,.net,Visual Studio,Tfs,Reference,我有一个包含多个项目的独立解决方案,包括类库和控制库。此解决方案及其所有项目均受TFS源代码管理 在我开发的所有新项目中,我都会引用一个或多个库的输出。引用当前是二进制的,而不是项目引用 新项目也总是在源代码控制下,现在我需要为库添加调试支持 如果从中引用库项目,项目文件将被修改,并且不再与原始库解决方案一起使用,因为库和引用的源代码管理提供程序可能不同 有没有一种简单的方法来适应这种情况?没有 不过,您可以使用一些策略。最简单的方法(可能是,但在某些情况下不是)是构建要调试的项目,将二进制文件

我有一个包含多个项目的独立解决方案,包括类库和控制库。此解决方案及其所有项目均受TFS源代码管理

在我开发的所有新项目中,我都会引用一个或多个库的输出。引用当前是二进制的,而不是项目引用

新项目也总是在源代码控制下,现在我需要为库添加调试支持

如果从中引用库项目,项目文件将被修改,并且不再与原始库解决方案一起使用,因为库和引用的源代码管理提供程序可能不同

有没有一种简单的方法来适应这种情况?

没有

不过,您可以使用一些策略。最简单的方法(可能是,但在某些情况下不是)是构建要调试的项目,将二进制文件放在承载它们的应用程序的顶部,并将调试器附加到正在运行的应用程序。这可以确保您在调试中拥有正确版本的程序集,但您可能必须执行不需要的操作,例如确保您没有针对特定版本的程序集


这对于正在开发的程序集来说可能是个坏消息。它还需要大量的手工工作,这取决于您的应用程序运行的位置,可能需要您运行远程调试、处理跨不受信任网络传输DLL的问题等。

您应该将共享二进制文件以及索引PDB打包到Nuget包中。Nuget是专门为解决这些问题而设计的


您可以通过运行索引工具来索引PDB。TF Build可以自动为PDB编制索引。

您是否尝试过在新项目的解决方案-->添加-->现有项目上单击鼠标右键,然后浏览所需的库?我不是100%确定,因为我目前没有访问VS的权限,但我认为这可能会解决您的问题。如果可以的话,请查看在TFS构建过程中包含nuget packager。在这种情况下,将特定版本保持为false是一个很好的指针,但答案似乎是“不”。希望以这种方式附加项目的目的是在任何场景中更改库(使其始终处于开发中)。保留两个VisualStudio调试实例(这是我已经做过的)似乎是唯一的方法。