1
我有一個新添加了一些文件的C++(.vcxproj
)項目。現在,我試圖編譯使用它下面的代碼:使用MSBuild API編譯vcxproj時出錯 - 錯誤MSB4057
var clogger = new ConsoleLogger(LoggerVerbosity.Diagnostic);
var pc = new ProjectCollection(new Dictionary<string, string>{{"Configuration", "Release"},
{"ToolsVersion", "4.0"}},
new[] { clogger }, ToolsetDefinitionLocations.Registry);
pc.DefaultToolsVersion = "4.0";
pc.LoadProject(projectPath);
var project = new Project(pc);
try
{
Assert.That(project.Build("Release"), Is.True);
}
finally
{
pc.UnregisterAllLoggers();
}
不幸的是,試圖編譯該項目給了我以下錯誤:目標在內的不
Building with tools version "4.0".
MSBUILD : error MSB4057: The target "Rebuild" does not exist in the project.
我試過很多指定一個目標,我一直得到相同的錯誤。我認爲Rebuild
目標確實在項目中,因爲命令行中的msbuild構建它就好了。我錯過了什麼?
重建目標在C:\ Program Files \ MSBuild \ Microsoft.Cpp \ v4.0 \ Microsoft.BuildSteps.targets –
中定義項目引用'Microsoft.Cpp.Targets' ...就夠了嗎? –