1
我們有許多包含數百個項目的解決方案。在遷移到新版VisualStudio期間,我們必須更改所有項目的目標框架版本。但通過按項目Properties/Application/TargetFramework單擊項目來更改此設置是非常無效的。以編程方式轉換visual studio項目版本
我們可以一次更改解決方案中所有項目的版本嗎? 有沒有辦法自動/以編程方式執行此活動?
我們有許多包含數百個項目的解決方案。在遷移到新版VisualStudio期間,我們必須更改所有項目的目標框架版本。但通過按項目Properties/Application/TargetFramework單擊項目來更改此設置是非常無效的。以編程方式轉換visual studio項目版本
我們可以一次更改解決方案中所有項目的版本嗎? 有沒有辦法自動/以編程方式執行此活動?
csproj文件只不過是XML,編程編程很簡單。
這裏有一個小程序,我已經創建了一個利用LINQ的XML的查找和更新根文件夾下的所有的csproj文件:
var path = @"--Path to Root--";
var files = Directory.GetFiles(path, "*.csproj", SearchOption.AllDirectories);
XNamespace ns = "http://schemas.microsoft.com/developer/msbuild/2003";
foreach (var file in files)
{
var doc = XDocument.Load(file);
var element = doc.Descendants(ns + "TargetFrameworkVersion").Single();
element.Value = "v4.5";
doc.Save(file);
}
正如你所標記以此爲tfs,您可能需要執行檢出在所有csproj文件上,刪除只讀標誌。或者,也可以查看所有內容,然後使用tfpt uu
恢復未更改的文件。
引用更新是什麼?有沒有你知道的工具? – rahulga
不,我只是按照相同的方法。 – DaveShaw