工作中的开发工具Visual Studio必须是2008,而自己又喜欢用2012,
只好在经常在两个版本间进行切换,
经研究发现,其实只需要修改项目文件和解决方案文件中的相关内容即可,示例代码如下:
private void button1_Click(object sender, EventArgs e)
{
string path = this.textBox1.Text;
string[] Files = Directory.GetFiles(path, "*.csproj", SearchOption.AllDirectories);
string sln = Directory.GetFiles(path, "*.sln", SearchOption.AllDirectories)[0];
string slnFile =File.ReadAllText(sln, Encoding.UTF8);
if (this.comboBox1.SelectedIndex == 0)
{
//2008 to 2012
for (int i = 0; i < Files.Length; i++)
{
string content = File.ReadAllText(Files[i], Encoding.UTF8);
content = content.Replace("ToolsVersion=\"3.5", "ToolsVersion=\"4.0");
File.WriteAllText(Files[i], content, Encoding.UTF8);
}
slnFile = slnFile.Replace("Format Version 10.00", "Format Version 12.00");
slnFile = slnFile.Replace("Visual Studio 2008", "Visual Studio 2012");
}
else
{
//2012 to 2008
for (int i = 0; i < Files.Length; i++)
{
string content = File.ReadAllText(Files[i], Encoding.UTF8);
content = content.Replace("ToolsVersion=\"4.0", "ToolsVersion=\"3.5");
File.WriteAllText(Files[i], content, Encoding.UTF8);
}
slnFile = slnFile.Replace("Format Version 12.00", "Format Version 10.00");
slnFile = slnFile.Replace("Visual Studio 2012", "Visual Studio 2008");
}
File.WriteAllText(sln, slnFile, Encoding.UTF8);
MessageBox.Show("转换完成!");}