2016-06-21 6 views
0

мы работаем над программой моделирования рынка с использованием C++, и мы хотели бы отслеживать набор изменений, когда эта симуляция запускается, поскольку программа меняется со временем. Нам нужно сохранить значение набора изменений в текстовый файл, содержащий результаты моделирования. Я работаю с некоторыми учениками в колледже. Мы нашли библиотеку, которая имеет функции, которые нам нужны, «Microsoft.TeamFoundation.VersionControl.Client.dll» и ее расположение в файловой системе, но мы не можем ссылаться на эту библиотеку, чтобы использовать нужную нам функцию. Visual Studio не дает нам возможности ссылаться на эту библиотеку. Мы также попробовали некоторые пакеты NuGet, которые содержат этот класс, но они не устанавливались, поскольку пакет NuGet не содержал ссылок на сборки или файлов содержимого, совместимых с этой инфраструктурой.Как получить доступ к номеру набора изменений в C++, используя Visual Studio 2013?

"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." 

Любая помощь будет принята с благодарностью.

+0

Возможная стоимость: http://stackoverflow.com/a/33505176/425871 – Steve

+2

Я подозреваю, что основная проблема заключается в недостатке понимания. Вы не сказали нам, откуда этот номер набора изменений, поэтому вы не понимаете, что это важно. Кажется, вы путаете C++ и управляемые языки. Вы thik вы можете захватить случайные DLL для получения «функций, которые вам нужны». Самое главное, что у вас возникла проблема с дизайном. Вам нужен номер сборки, но подумайте о вызове DLL. Но построение и запуск кода - это разные этапы. – MSalters

+0

@steve ссылка помогла нам добавить пакеты NuGet с необходимыми классами, но мы по-прежнему не можем добавить ссылку на эти классы. Когда мы идем, мы не добавим в нашу проектную библиотеку ссылку. –

ответ

1

Ваша программа захочет узнать версию источника, из которой она была построена, а не текущую версию, поэтому она не должна пытаться получить доступ к управлению источником во время выполнения.

В рамках процесса сборки добавьте событие предварительной сборки, которое выполняет программу, которая записывает номер набора изменений в файл. В зависимости от вашего источника, возможно, уже есть инструмент командной строки, который делает это, или вам может понадобиться создать его с небольшой программой C# и библиотекой, которую вы пытаетесь установить.