我可以在VS12/10中同时更改所有解决方案的项目输出路径吗?

本文关键字:解决方案 项目 输出 路径 VS12 我可以 | 更新日期: 2023-09-27 18:04:23

我有一个超过61个项目的解决方案。

有3个目标平台:"调试","发布","发布平板电脑"
有两种解决方案平台:'x86'和'Any CPU'

我希望所有的项目都建立在2个文件夹:
D:'samplepath'Debug'用于"x86"平台和"任意CPU"上的"调试"配置
D:'samplepath'Release' for所有平台上的'Release'和'Release tablet'配置

是否有任何简单的方法来管理所有这些路径,而不是逐个设置它们(它是61x3x2 = 366条路径设置!sic!)?提前感谢

我可以在VS12/10中同时更改所有解决方案的项目输出路径吗?

尝试这样做(我在LinqPad中运行这样的代码,但如果你喜欢,你可以创建一个控制台应用程序):

const string xmlns = "http://schemas.microsoft.com/developer/msbuild/2003";
void Main()
{
     var dir = @"C:'proj'catalyst'source";
     var xmlns = "http://schemas.microsoft.com/developer/msbuild/2003";
     foreach( var configFile in Directory.EnumerateFiles(dir,"*.csproj",SearchOption.AllDirectories))
     {              
        var doc = XDocument.Load(configFile);               
        var paths = doc.Descendants(XName.Get("OutputPath",xmlns));
        foreach(var path in paths)
        {
            path.Value = "'"$(SolutionDir)$(ConfigurationName)'$(PlatformName)'"";
        }
        doc.Save(configFile);
     }
}

这将使您的输出目录相对于解决方案文件(尽管如果您愿意,您可以用绝对路径替换$(SolutionDir))