我创建了一个引用Microsoft.Build.Utilities.dll的自定义构建任务DLL
由于文件名在每个版本中都不同,
我是否需要创建单独的项目文件来针对不同的MSBuild版本? 2.0、3.5、4.0 / 4.5
发布于 2013-01-02 17:29:58
我是不会做那种事儿的。如果你从代码构建你的项目,你应该能够为你能在.csproj文件中找到的每个属性设置GlobalProperty。系统将自动选择适当的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");
//}https://stackoverflow.com/questions/14119292
复制相似问题