2013-08-20 3 views
1

Я пытаюсь создать проект в TeamCity, который содержит некоторые DLL-файлы, которые использует файл .csproj, но я продолжаю получать сообщение об ошибке (CS0246), потому что они не могут получить доступ к папке, находятся в.TeamCity - используя 2 папки svn

Я добавил две папки SVN (Subversion - VisualSVN) в свои корни VCS, но мне нужно отредактировать в файле .csproj, чтобы отредактировать каталог. Он сохраняет его в формате «.. \ assemblylies \ "на сервере TeamCity, но локально (при деградации и т. д.) это« .... \ common \ assemblylies »

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

Это своего рода трудно объяснить. Я попробую и уточню еще несколько, если бы не было достаточно ясно из сказанного выше.

<Reference Include="OpenCvSharp.MachineLearning"> 
    <HintPath>..\..\Common\assemblies\OpenCvSharp.MachineLearning.dll</HintPath> 
</Reference> 

Должно быть

<Reference Include="OpenCvSharp.MachineLearning"> 
    <HintPath>..\assemblies\OpenCvSharp.MachineLearning.dll</HintPath> 
</Reference> 

Для правильной работы на сервере Teamcity. Однако это не вариант, потому что тогда мы не сможем отлаживать локально и т. Д., Не изменяя путь все время.

«C: \ TeamCity \ buildAgent \ работы \ fdbaf6ce1c990aa8 \», то все папки SVN сохраняется там, которая затем выходит из «главной» папки наших проектов и папку, которая содержит библиотеки DLL

Любой, кто знает, как это можно решить?

ответ

1

Вы можете использовать build configurations для условной ссылки на одну и ту же DLL, но на разных путях. В .csproj:

<Reference Include="OpenCvSharp.MachineLearning"> 
    <HintPath Condition="'$(Configuration)' == 'Debug'">..\..\Common\assemblies\OpenCvSharp.MachineLearning.dll</HintPath> 
    <HintPath Condition="'$(Configuration)' == 'TeamCity'">..\assemblies\OpenCvSharp.MachineLearning.dll</HintPath> 
</Reference> 

Вы можете добавлять новые конфигурации сборки в Visual Studio, щелкнув правой кнопкой мыши на файл решения в обозревателе решений ->Configuration Manager ... затем нажав на выпадающее меню для конфигурации активного решения : и выбрав < New ...>:

Adding the new TeamCity build configuration

Недостатком является то, что вам придется редактировать ваши .csproj-файлы, чтобы включить вышеупомянутые условные обозначения.

+0

Я попробую это и отчитаюсь после: – user2700120