0

我创建了一个引用 Microsoft.Build.Utilities.dll 的自定义构建任务 DLL

由于每个版本的文件名不同,

我是否需要创建单独的项目文件以针对不同的 MSBuild 版本?2.0、3.5、4.0 / 4.5

4

1 回答 1

0

我不会那样做的。如果您从代码构建项目,您应该能够为GlobalProperty在 .csproj 文件中找到的每个属性进行设置。将自动选择正确的 MSBuild 版本。

     ProjectCollection pc = new ProjectCollection();
     Dictionary<string, string> GlobalProperty = new Dictionary<string, string>();

     //GlobalProperty.Add("Configuration", "Debug");
     //GlobalProperty.Add("Platform", "x86");
     //GlobalProperty.Add("OutputPath", "c:\\src");
     //GlobalProperty.Add("TargetFrameworkVersion", "4.0");

     BuildRequestData buidlRequest = new BuildRequestData("projectfile.csproj", GlobalProperty, null, new string[] { "Build" }, null);
     BuildResult buildResult = BuildManager.DefaultBuildManager.Build(new BuildParameters(pc), buidlRequest);

     //if (buildResult["Build"].ResultCode == TargetResultCode.Success)
     //{
     //   Console.WriteLine("Build Success");
     //}
     //else
     //{
     //   Console.WriteLine("Build Fail");
     //}
于 2013-01-02T09:29:58.437 回答