【问题标题】:How do we access changeset number in C++, using Visual Studio 2013?我们如何使用 Visual Studio 2013 访问 C++ 中的变更集编号?
【发布时间】:2016-10-23 10:44:10
【问题描述】:

我们正在使用 C++ 开发一个市场模拟程序,我们希望在模拟运行时跟踪变更集,因为程序会随着时间而变化。我们需要将变更集值存储到包含模拟结果的文本文件中。我正在与社区大学的一些学生合作。我们找到了具有我们需要的功能的库,“Microsoft.TeamFoundation.VersionControl.Client.dll”及其在文件系统中的位置,但我们无法引用该库来使用我们需要的功能。 Visual Studio 没有为我们提供引用此库的选项。我们还尝试了一些包含此类的 NuGet 包,但它们没有安装,因为 NuGet 包没有“不包含任何与该框架兼容的程序集引用或内容文件”。

"Attempting to resolve dependency 'Machado.Microsoft.TeamFoundation (≥ 12.0.0.0)'.
Installing 'Machado.Microsoft.TeamFoundation 12.0.0.0'.
Successfully installed 'Machado.Microsoft.TeamFoundation 12.0.0.0'.
Installing 'Machado.Microsoft.TeamFoundation.Client 12.0.0.5-beta5'.
Successfully installed 'Machado.Microsoft.TeamFoundation.Client 12.0.0.5-beta5'.
Adding 'Machado.Microsoft.TeamFoundation 12.0.0.0' to FOR_REAL_THIS_TIME_GUYZ.
Uninstalling 'Machado.Microsoft.TeamFoundation 12.0.0.0'.
Successfully uninstalled 'Machado.Microsoft.TeamFoundation 12.0.0.0'.
Install failed. Rolling back...
Could not install package 'Machado.Microsoft.TeamFoundation 12.0.0.0'. You are trying to install this package into a project that targets 'Native,Version=v0.0', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author."

任何帮助将不胜感激。

【问题讨论】:

  • 我怀疑这里的主要问题是缺乏理解。你还没有告诉我们这个变更集编号来自哪里,所以你没有意识到这很重要。您似乎混淆了 C++ 和托管语言。您认为您可以获取随机 DLL 以获得“您需要的功能”。最重要的是,您似乎遇到了设计问题。您需要一个内部版本号,但考虑调用一个 DLL。但是构建和运行代码是不同的阶段。
  • @steve 该链接帮助我们添加了带有我们需要的类的 NuGet 包,但我们仍然无法添加对这些类的引用。当我们去尝试将参考库添加到我们的项目时,没有任何选项弹出。
  • @MSalters,我认为你很好地解释了我们的情况。由于对程序的最新更改的变更集位于 Visual Studio 中的某个位置,我们希望找到一个类,该类允许我们将一个函数包含到我们的程序中,该函数将能够访问并获取最新的变更集编号。我们似乎无法将参考库添加到我们的程序中,因此这阻碍了我们尝试添加库以查看是否可以获取该变更集编号的能力。
  • @GildardoOrozco:您知道运行 Windows 程序的正常模式是在 Visual Studio 之外吗?即使在调试时,Visual Studio 也在查看您的程序,而不是反过来?

标签: c++ .net visual-studio visual-studio-2013 changeset


【解决方案1】:

您的程序会想知道构建它的源代码的版本,而不是当前版本,因此它不应该在运行时尝试访问源代码控制。

作为构建过程的一部分,添加一个预构建事件,该事件执行将变更集编号写入文件的程序。根据您的源代码管理,可能已经有一个命令行工具可以执行此操作,或者您可能需要使用一个小型 C# 程序和您尝试引用的库来创建一个。

【讨论】:

    猜你喜欢
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多