Oggi stavo aggiungendo la piattaforma x64 alla mia soluzione, quando mi sono imbattuto in questo problema.
Nel mio caso, l'errore diceva:
Costruito $ / ProjectDirectory / ProjectName.csproj per le destinazioni predefinite. c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (484): la proprietà OutputPath non è impostata per il progetto ProjectName.csproj '. Verifica di aver specificato una combinazione valida di Configurazione e Piattaforma per questo progetto. Configurazione = Piattaforma "Debug" = "x64". Potresti visualizzare questo messaggio perché stai tentando di creare un progetto senza un file di soluzione e hai specificato una configurazione o una piattaforma non predefinita che non esiste per questo progetto.
Sapevo che OutputPath
avrebbe dovuto andare bene, poiché questa era una soluzione VS esistente e funzionante. Quindi sono passato al suggerimento successivo: "una valida combinazione di configurazione e piattaforma".
Aha! Visual Studio sta cercando di compilare Configuration='Debug', Platform='x64'
. Guardando il mio file di progetto, mi sono reso conto che x64 non era elencato come una delle possibili piattaforme. In altre parole, avevo le seguenti voci (abbreviate):
<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>
Soluzione facile quindi: aggiungi solo le voci x64!
Ho copiato / incollato le voci x86 e le ho modificate per utilizzare x64. Si noti che ho anche modificato i percorsi in modo che questi non sovrascrivano le build 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>