Я добавлял платформу x64 к своему решению сегодня, когда столкнулся с этой проблемой.
В моем случае ошибка гласила:
Создан $ / ProjectDirectory / ProjectName.csproj для целей по умолчанию. c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (484): свойство OutputPath не установлено для проекта ProjectName.csproj '. Убедитесь, что вы указали допустимую комбинацию конфигурации и платформы для этого проекта. Конфигурация = «Отладка» Платформа = «x64». Это сообщение может быть вызвано тем, что вы пытаетесь создать проект без файла решения и указали конфигурацию или платформу не по умолчанию, которая не существует для этого проекта.
Я знал OutputPath
должно быть в порядке, поскольку это уже существующее работающее решение VS. Итак, я перешел к следующей подсказке - «допустимая комбинация конфигурации и платформы».
Ага! Visual Studio пытается построить Configuration='Debug', Platform='x64'
. Посмотрев на свой файл проекта, я понял, что x64 не указана как одна из возможных платформ. Другими словами, у меня были следующие записи (сокращенные):
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\x86\Debug\</OutputPath>
. . .
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\x86\Release\</OutputPath>
. . .
</PropertyGroup>
Тогда легко исправить: просто добавьте записи x64!
Я скопировал / вставил записи x86 и изменил их на использование x64. Обратите внимание, что я также изменил пути, чтобы они не перезаписывали сборки x86:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin\x64\Debug\</OutputPath>
. . .
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin\x64\Release\</OutputPath>
. . .
</PropertyGroup>