2015-10-14 3 views
1

Я использую Visual Stduio 2015 Community Edition. Я загрузил проект C# и хочу настроить его на использование теневого здания, чтобы исходные файлы не перепутались с любыми двоичными файлами или промежуточными файлами сборки. Пытался установить пути к каталогам [output]/[промежуточного выхода] проекта C# с использованием VS UI - единственный выходный путь к UI-редактированию - это «bin», и он не принимает MSBuild macros. Затем я выгрузил проект и вручную отредактировал его. Также установите IntermediateOutputPath, который недоступен в пользовательском интерфейсе VS при использовании проекта C#, но при использовании C++ все такие типы каталогов редактируются. В настоящее время OutputPath установлен на: <OutputPath>$(SolutionDir)..\build_$(SolutionName)_$(Configuration)_$(Platform)\$(ProjectName)</OutputPath>

$(ProjectName) пусто по какой-то причине. Пробовал $(TargetName) (неправильно использовать его, но только для теста), но он тоже пуст. Какие-либо предложения?

ответ

1

Я уверен, что вы уже решили эту проблему. Сегодня я столкнулся с этим. Проблема в том, что некоторые из свойств msbuild, таких как имя проекта, устанавливаются после следующей строки в вашем файле .csproj.

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 

После этой строки вы можете получить доступ ко всем переменным.

+0

В свою очередь, этот файл зависит от других свойств, таких как 'OutputPath', которые должны быть установлены. Они задаются рядом тегов PropertyGroup в файле проекта, по одному для каждой конфигурации проекта (конфигурация | платформа). Поэтому они должны быть первыми, за которым следует импорт, а затем «PropertyGroup», который определяет событие после сборки. –

Смежные вопросы