【问题标题】:Multiple solutions working with shared library project in Visual Studio在 Visual Studio 中使用共享库项目的多个解决方案
【发布时间】:2015-02-09 15:23:27
【问题描述】:

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

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

新项目也始终处于源代码控制之下,现在我需要为库添加调试支持。

如果我从中引用库项目,则项目文件会被修改,并且不再适用于原始库解决方案,因为库和引用者的源代码控制提供程序可能不同。

有没有简单的方法来解决这个问题?

【问题讨论】:

  • 您尝试过right click on your new project's solution-->Add-->Existing Project 并浏览所需的库吗?我不能 100% 确定,因为我目前无法访问 VS,但我认为这可能会解决您的问题。
  • 如果可以的话,看看在你的 TFS 构建过程中包含 nuget 打包程序。

标签: c# .net visual-studio tfs reference


【解决方案1】:

您应该将共享二进制文件与索引 PDB 一起打包到 Nuget 包中。 Nuget 专为解决这些问题而设计。

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

【讨论】:

    【解决方案2】:

    没有。

    不过,您可以使用一些策略。最简单的(可能,但在某些情况下不是)是构建您希望调试的项目,将二进制文件放在托管它们的应用程序之上,然后将调试器附加到正在运行的应用程序。这可以确保您在调试时拥有正确版本的程序集,但您可能需要做一些不需要的事情,例如确保您没有针对特定版本的程序集

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

    【讨论】:

    • 在这种情况下保持特定版本为假的好指针,但答案似乎是“不”。希望以这种方式附加项目的目的是在任何情况下更改库(使其始终处于开发状态)。保留两个 Visual Studio 调试实例(我已经这样做了)似乎是唯一的方法。
    猜你喜欢
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多