Microsoft.Buildを介してソリューションをビルドすると、「指定されたソリューション構成「Debug | AnyCPU」が無効です」エラーが発生します

レスター

コードを介してVBで記述された古いWPFプロジェクトをコンパイルする必要があります。このために、ソリューションをロードしてビルドプロセスを呼び出すクラスライブラリをC#で作成しています。

次のようにコーディングします。

// solution_file is a FileInfo object that points to the .sln file
// logger is a class that implements ILogger
var solution = new ProjectCollection();
var solution_properties = new Dictionary<string, string>();
solution_properties.Add("Configuration", "Debug");
solution_properties.Add("Platform", "AnyCPU");
var build_parameters = new BuildParameters(solution);
var logger = new SimpleLogger();
build_parameters.Loggers = new List<ILogger>() { logger };
var build_request = new BuildRequestData(
    solution_file.FullName,
    solution_properties,
    "14.0",
    new string[] { "Build" },
    null);
var build_result = BuildManager.DefaultBuildManager.Build(build_parameters, build_request);
if (build_result.OverallResult != BuildResultCode.Success)
    throw new Exception();

問題は、いずれの場合も、ビルドが失敗し、次のエラーが発生することです。

The specified solution configuration "Debug|AnyCPU" is not valid. Specify a valid solution configuration with the properties Configuration and Platform (eg. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") or leave these properties empty to use the default solution configuration.

(メッセージは正確な翻訳ではないかもしれません、私はスペイン語から翻訳しています。)

構成(デバッグまたはリリース)とプラットフォーム(x86、x64、またはAnyCPU)の任意の組み合わせは、同じエラーで失敗します(変更されるのはThe specified solution configuration Debug|AnyCPU is not valid部分だけです。これらのプロパティを空のままにすると、エラーメッセージは。のDebug|MCD代わりにと同じになりDebug|AnyCPUます。

正しい方向へのポインタをいただければ幸いです。

レスター

ヒント:次回は、子供たち、エラーメッセージを正しく読んでください。私は「AnyCPU」ではなく「AnyCPU」をプラットフォームとして渡していました(正しい用語で存在しないスペースに注意してください)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ