【问题标题】:How do I remove a project configuration in Visual Studio 2008?如何在 Visual Studio 2008 中删除项目配置?
【发布时间】:2010-10-04 06:23:09
【问题描述】:

我有一个 Visual Studio 2008 解决方案,其中导入了许多预先存在的项目。这些项目是混合语言示例代码(C#、VB、C++/CLI)。他们目前有多种配置,但我希望每个项目只有一个“调试”配置。

在配置管理器中,我删除了其他配置(例如“Release”),但在我这样做时,出现了一条警告消息,告诉我它们不会从各个项目中删除。

确实,当我导航到单个项目时,它仍然具有“发布”和其他配置,即使在解决方案级别只有“调试”。

我怎样才能最好地从每个项目中删除这些额外的配置?我是否忽略了在 GUI 中执行此操作的某种方法,还是应该直接编辑项目文件?

【问题讨论】:

    标签: visual-studio-2008


    【解决方案1】:

    在配置管理器中,为具有您要删除的配置的每个项目(不是通过名为“活动解决方案配置”的下拉菜单)选择“配置”列中的“编辑...”。

    在弹出的对话框中,标记每个不需要的配置并选择“删除”。

    【讨论】:

    • 谢谢!我希望 Visual Studio 提供一种更快的方法来删除所有项目中的配置。如果您在一个解决方案中有十几个项目,那么逐个检查并手动删除配置会很痛苦。
    • @Matthias 我不敢苟同。不,它没有改变(从我在 2009 年回答这个问题到 2013 年版本)。
    • 如果我去配置管理器,通过编辑删除一个活动的解决方案配置,那么配置确实从配置管理器中删除。但是,如果您现在转到项目的属性,那么配置仍然存在。如果您查看 .vcxproj 文件,则配置仍然存在。我使用 Visual Studio 2013(专业版和旗舰版)
    • @Matthias 仔细阅读(尤其是每个项目的部分)。也许我的答案中的单词选择/顺序没有适当优化以获得最佳理解性,但这并不会改变这是否有效。
    • @Stefano Ricciardi 5 年后,你找到解决这种痛苦的方法了吗?
    【解决方案2】:

    不回答这个我知道的特定问题,但是使用 VS2013,您可以打开“属性管理器”选项卡,展开所有项目配置,使用 CTRL 或 SHIFT 键进行多项选择,并一次从多个项目中删除配置。

    【讨论】:

    • 这仅适用于 C++ 项目吗?我猜您所指的选项卡是“查看>其他 Windows>属性管理器”?
    • 这在 VS2017 中完美运行。我只想在多个项目中保留两个 C++ 配置(Debug|Release+Win32|x64),所以我在属性管理器中展开了所有项目,单击顶部配置,滚动到底部并按住 shift 键单击底部配置然后使用 control-click 取消选择要保留的配置。您还必须取消选择项目的名称,否则删除将不会出现在菜单中。然后右键单击已选择(未取消选择)的配置并选择删除。最后,进入 Project->Configuration manager 并删除配置。
    【解决方案3】:

    为了帮助说明 timbo 的回答,以下是他所说的内容。像一些评论者一样,我花了一段时间才找到这个。

    【讨论】:

      【解决方案4】:

      从解决方案的所有项目中自动删除配置的最佳方法是使用 Nuget 控制台命令访问 Visual Studio api。

      转到工具Nuget 包管理器包管理器控制台 em>

      从那里使用:

      Get-Project -All | Foreach { $_.ConfigurationManager.DeleteConfigurationRow("Release") }
      

      通过这种方式,您已经从名为"Release" 的所有项目中删除了所有配置。 我强烈建议您始终检查源代码版本控制系统的差异,您只会看到csproj 和在某些情况下sln 文件受到影响,如果您使用配置转换(如 Web.Release.config),它们仍然会受到影响在那里。

      visual studio version-specific api documentation here 上提供了更多信息,这至少适用于 C++、C#、F#、VB 语言的 VS 2015。

      【讨论】:

      • 你能提供一些参考吗?你是怎么想出这段代码的?有教程吗?我想确保它不会破坏我的项目,能够自己维护它,并且可能将它用于其他事情。
      • 谢谢!我注意到您链接中的主题树(页面顶部)是Docs > .NET > ... > DeleteConfigurationRow。它仅适用于 .net 解决方案吗?您是否也针对 C++ 解决方案对其进行了测试?
      • 对我来说工作得很好,C++ 项目的解决方案。感谢您的提示!
      • 刚刚又看了一遍API,好像不能,因为集合名称的访问方法被限制为docs.microsoft.com/en-us/dotnet/api/…
      • @Terry - 我设法得到了这个错误,但它发生在一个在旧版本的 Visual Studio 中创建并且尚未更新的项目上。这也可能是影响您的问题。
      【解决方案5】:

      在 VS2017/VS2019 中,如果您下拉“活动解决方案配置”,那里有一个 可以让您从所有项目中删除配置。

      Screenshot showing <edit>

      【讨论】:

        猜你喜欢
        • 2011-06-05
        • 2011-08-15
        • 2012-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-19
        • 1970-01-01
        • 2010-12-31
        相关资源
        最近更新 更多