我创建了一个引用 Microsoft.Build.Utilities.dll 的自定义构建任务 DLL
由于每个版本的文件名不同,
我是否需要创建单独的项目文件以针对不同的 MSBuild 版本?2.0、3.5、4.0 / 4.5
我创建了一个引用 Microsoft.Build.Utilities.dll 的自定义构建任务 DLL
由于每个版本的文件名不同,
我是否需要创建单独的项目文件以针对不同的 MSBuild 版本?2.0、3.5、4.0 / 4.5
我不会那样做的。如果您从代码构建项目,您应该能够为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");
//}