繁体   English   中英

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

[英]Can I change all solution's projects output paths simultaneously in VS12/10?

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

有3个目标平台:“调试”,“发布”,“发布平板电脑”
有2个解决方案平台:“ x86”和“任何CPU”

我希望所有项目都建立在2个文件夹中:
D:\\ samplepath \\ Debug \\,用于在平台“ x86”和“任何CPU”上进行“调试”配置
D:\\ samplepath \\ Release \\用于所有平台上的“ Release”和“ Release Tablet”配置

有什么简单的方法来管理所有这些路径,而不是一一设置(61x3x2 = 366个设置!sic!的路径)? 提前致谢

尝试这样的事情(我在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)替换为绝对路径。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM