У меня есть проект C++ в VS2010 и проект C#, который должен использовать этот проект проекта C++ (он использует его для p/invoke). Я думал, что могу гарантировать, что проект C++ был создан до проекта C#, редактируя «зависимостей проекта ...» в решении, но это, похоже, не имеет никакого эффекта, сборка на моем сервере сборки не учитывает этот параметр (Я использую TeamCity для загрузки файла MSBuild, который создает весь файл решения)VS2010 зависимостей проекта
Я думаю, что это работало, что-то изменилось с VS2010? Или я должен заявлять зависимость по-другому?
РЕШЕНИЕ: Хитрость в том, чтобы вручную редактировать файл csproj вне VS2010 и добавить раздел как это:
<ProjectReference Include="..\CobraLib\CobraLib.vcxproj">
<Project>{598506DA-91DA-4F25-948D-A14CB16ABEBA}</Project>
<Name>CobraLib</Name>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
Это сделало процесс создания сервера мои проекты в правильном порядке. Только оговорка заключается в том, что VS2010 отображает ошибку в ссылке на проект («не проект .NET»), но в противном случае все работает так, как я предполагал.
Я изначально использую диалог VS2010, и я подтвердил, что файл решения содержит параметры postProject. –
Проверьте файл проекта проекта C#, он должен иметь элемент, определяющий проект C++ как зависимость. Вы также можете попробовать увеличить объемность msbuild в TeamCity и посмотреть журналы, которые могут дать вам представление о том, что происходит. Я предполагаю, что это работает на вашей локальной машине. –
radical
Должен ли я редактировать это вручную? Я не могу добавить его с помощью VS2010 (возможно, у меня установлено расширение AddReference, которое запрещает это). Я хотел бы, чтобы результат проекта C++ заканчивался вместе с выходом файла C#. –