您的.csproj文件應包括<OutputPath>bin\Debug\</OutputPath>
。當Visual Studio創建一個項目文件,它把<OutputPath>
一個<PropertyGroup>
元素的配置和平臺,像這樣的組合條件內:現在
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
...
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
...
</PropertyGroup>
,如果你在命令行中不帶參數運行的MSBuild它使用Debug
作爲缺省值Configuration
和AnyCPU
爲Platform
,就像您的錯誤消息所述。
因此,顯然,您的項目文件沒有<PropertyGroup>
,其中包含Debug | AnyCPU組合的<OutputPath>
。
一個簡單的辦法,迫使它是爲OutputPath屬性作爲命令行開關提供一個值:
MSBuild my.csproj /p:OutputPath=bin\Debug\
的問題可能是通常包含<OutputPath>
的<PropertyGroup>
也有可能是更多的選擇因此您可能需要在項目文件中找到Configuration和Platform的有效組合。一旦找到這樣的組合,您可以使用相同的命令行開關相應地設置屬性:
MSBuild my.csproj /p:Configuration=Release /p:Platform=x86
該項目在Visual Studio中良好地構建?如果是這樣,csproj文件是一個可以從中複製的msbuild腳本。 – akton
生成以前與統一引擎和單個DLL文件需要從C#腳本重建,但我不想重做整個事情,所以我有一個csproj爲需要編譯的DLL,即時嘗試使用msbuild與該proj文件,希望有幫助? – XxPOYSONxX