繁体   English   中英

使用 c#、visual studio 和 msbuild 编辑解决方案

[英]editing a solution with c#, visual studio and msbuild

我有一个 VS 解决方案,如下所示:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.40629.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demonstation", "Demonstation\Demonstation.csproj", "{8ABE7A72-527A-4E18-8442-9632F1AA83D5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Folder 1", "Folder 1", "{416E314D-54A7-4A98-955D-86513A1EDBBF}"
    ProjectSection(SolutionItems) = preProject
        XMLFile1.xml = XMLFile1.xml
    EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Folder 2", "Folder 2", "{B955928E-FADA-413D-839B-3A2D72A63A06}"
    ProjectSection(SolutionItems) = preProject
        TextFile1.txt = TextFile1.txt
    EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Folder 3", "Folder 3", "{AA6C508F-817F-42F8-A3F8-2450BCC03FC5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Important", "Important\Important.csproj", "{F7A45E90-5F30-4F5E-9EFA-F44AB260A731}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "even_more_important", "even_more_important\even_more_important.csproj", "{23C38EED-2893-406D-8184-7004C2F2D57F}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
        Release|Any CPU = Release|Any CPU
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {8ABE7A72-527A-4E18-8442-9632F1AA83D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {8ABE7A72-527A-4E18-8442-9632F1AA83D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {8ABE7A72-527A-4E18-8442-9632F1AA83D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {8ABE7A72-527A-4E18-8442-9632F1AA83D5}.Release|Any CPU.Build.0 = Release|Any CPU
        {F7A45E90-5F30-4F5E-9EFA-F44AB260A731}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {F7A45E90-5F30-4F5E-9EFA-F44AB260A731}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {F7A45E90-5F30-4F5E-9EFA-F44AB260A731}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {F7A45E90-5F30-4F5E-9EFA-F44AB260A731}.Release|Any CPU.Build.0 = Release|Any CPU
        {23C38EED-2893-406D-8184-7004C2F2D57F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {23C38EED-2893-406D-8184-7004C2F2D57F}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {23C38EED-2893-406D-8184-7004C2F2D57F}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {23C38EED-2893-406D-8184-7004C2F2D57F}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
    EndGlobalSection
    GlobalSection(NestedProjects) = preSolution
        {8ABE7A72-527A-4E18-8442-9632F1AA83D5} = {416E314D-54A7-4A98-955D-86513A1EDBBF}
        {F7A45E90-5F30-4F5E-9EFA-F44AB260A731} = {B955928E-FADA-413D-839B-3A2D72A63A06}
        {23C38EED-2893-406D-8184-7004C2F2D57F} = {AA6C508F-817F-42F8-A3F8-2450BCC03FC5}
    EndGlobalSection
EndGlobal

如您所见,有 3 个文件夹。

我的任务是使用 c#、visual studio 和 msbuild 从解决方案中删除文件夹 1 中的所有内容(文件+子目录)。 我已经在互联网上搜索过类似的问题。 不幸的是,我没有找到任何可以帮助我解决特定问题的帖子,除了这两个:

如何在 C# 中以编程方式构建解决方案?

用于检查项目文件中的项目变量和引用路径的 api

我需要的是一些用于熟悉 msbuild 的编码示例以及如何解决此任务的有用提示。

提前感谢您的回答!

向新的 Ubuntu 用户致以最诚挚的问候

没有用于处理解决方案文件的文档化 API(顺便说一句,它们不是msbuild 文件,所以您一直在寻找错误的地方)...

除非你要为几十文件做到这一点,这将是更快的方式向刚打开从那里的IDE解决方案,并删除所有内容。 替代解决方案:

  • 在文本编辑器中打开文件并删除一些行
  • 找出 VS 使用哪些程序集来读/写解决方案文件并根据您的需要使用它们
  • 为解决方案文件编写您自己的基于文本的解析器(使用 C# 或任何最适合您的语言)

暂无
暂无

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

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