Visual Studio 2010中未显示自定义解决方案配置

28

我添加了一个名为“Staging”的解决方案配置。在VS的下拉菜单中可以看到,但在“Package/Publish Web”屏幕的配置管理器中却没有出现。在这个屏幕上,我能看到下拉菜单中的:

  • Active (Release)
  • Debug
  • Release
  • All Configurations

我看不到“Staging”,无法以Staging模式打包。


不确定“solution configuration”是什么意思,配置只存在于项目中,而非解决方案。确保先选择项目。 - Hans Passant
我的理解是,您可以为整个解决方案添加一个解决方案配置和一个可以分配给单个项目的项目配置。 - Nick
一个解决方案,来自于 msdn 博客 http://blogs.msdn.com/b/nicgrave/archive/2010/06/19/platform-and-configuration-selection-in-visual-studio-2010-express-for-windows-phone.aspx - 131
请参考此链接获取答案:https://dev59.com/tmQo5IYBdhLWcg3wE8C2#16335748。 - Alex Filipovici
这里已经发布了一个类似的问题:在Visual Studio中添加新的C#项目时,不会自动创建其他配置。请参考此链接以获取解决方法:https://dev59.com/tmQo5IYBdhLWcg3wE8C2#16335748。 - Alex Filipovici
4个回答

55

我找到了解决建立自定义构建配置后添加新项目的问题的方法 -

  1. 右键单击解决方案。
  2. 从上下文菜单中选择“属性”。
  3. 在弹出的对话框中,单击左侧窗格中的“配置属性”。
  4. 在右上角点击“配置管理器…”按钮。
  5. 向下滚动至您的新项目。
  6. 在您的项目的“配置”列下,选择 <New...>
  7. 在弹出的对话框中,输入现有项目的名称,并取消选中“创建新解决方案配置”复选框(因为它已经存在于解决方案级别)。
  8. 进入该项目的属性,您现在将看到此配置。在您的项目中为该配置应用必要的属性。

2
我的经验是这个解决方案只能半成品。当构建配置更改时,已经按照这种方式配置的项目不会更新。 - Joel Skrepnek
由于在很多项目中几乎每个引用/源文件都要使用条件检查(配置、平台),我必须注意用自制的msbuild脚本解析器替换解决方案浏览器和配置管理器的想法,并开启读取-求值-打印-循环模式。 - kagali-san
1
这对我有用 - 在VS 2012和2013中也适用。感谢解决方案! - Guy Starbuck
4
谢谢。我都快疯了。原来是一个小复选框“创建新解决方案配置”阻止了我,我从来没有费心去读它! - NER1808
2
我们需要修复这个问题,而不是另一个XAML/JS GUI框架。 - Den

11

解决方法:打开已经配置好的其他项目文件,找到所需节点并将它们复制到目标项目文件中(当然需要修正路径/装配文件名)。


5
我找到的最简单的方法是直接在文本编辑器中修改项目文件(.csproj)。如果您有一个已经具有所需配置的项目,请打开它并找到相应的PropertyGroup元素(例如下面的“演示”配置)。
复制该PropertyGroup元素,然后将其粘贴到Debug配置的等效元素之后即可。
如果出于某种原因您还没有具有所需配置的PropertyGroup元素,则应该能够复制Debug元素(或更合适的Release元素),并将名称从“Debug”更改为您的配置名称。
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Demo|AnyCPU'">
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>

0

我只是使用构建配置自动转换我的配置文件。我通过从解决方案中删除构建配置来解决了这个问题,但这并没有在VS2012中删除我的配置转换文件,然后我只是再次添加了配置。现在它出现在所有项目中。

可能会有我不知道的问题,但目前它运行得很好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接