ASP.Net Web应用程序添加配置转换变灰

pgccezyw  于 2022-11-19  发布在  .NET
关注(0)|答案(6)|浏览(250)

我将一个现有的ASP.NET Web应用程序项目添加到我的解决方案中。除了标准的调试和发布配置之外,此解决方案还具有两个自定义配置:SAT和UAT。对于新的Web应用程序,右键单击Web.Config将显示上下文菜单,但“添加配置转换”选项是灰色的。
我不知所措。新项目是一个Web应用程序。配置管理器不显示此项目的两个自定义配置,但显示了其他项目的配置。该项目在解决方案文件中似乎具有正确的项。
有什么想法?

b09cbbtk

b09cbbtk1#

您必须先在“组态管理员”中定义组态。若要确定您是在启动“组态管理员”,您可以移至下列位置来存取它:构建-〉配置管理器
在 * 活动解决方案配置 * 下拉列表中,选择<New...>。添加后,您将能够“添加配置转换”。
不要直接编辑您的解决方案文件。这只会引起麻烦。

m3eecexj

m3eecexj2#

当我们使用PublishProfiles时,对我来说,答案是右键单击相关的pubxml文件(在项目文件夹Properties子文件夹PublishProfiles中找到),然后选择Add Config Transform。).

5cnsuln7

5cnsuln73#

在我的案例中,在Visual Studio 2015中,当我基于项目模板创建新解决方案时,Add Config Transform 是灰色的-但原因不同:
点击**“显示所有文件”**显示文件已经在那里-只是隐藏。因此,按钮是灰色的(因为没有必要添加他们,因为他们已经在那里)。
1.点按“显示所有文件”图标:

1.现在您可以展开“Web.config”:

1.双击任何转换文件(Web.Debug.configWeb.Release.config)以打开并编辑它。

备注:

  • 我不想添加其他配置,只需使用 DebugRelease。如果创建了一个配置并选择了它,但转换文件尚不存在,则上下文菜单项 Add Config Transform 处于活动状态,并且未灰显。
  • 另一种方法是删除(或将文件移出项目目录),然后从头开始重新创建(通过 Add config transform)。

因为它们已不在那里,所以功能表不应该变成灰色。在移除档案之后,可能需要关闭并重新开启方案。

  • 如果要创建其他配置转换文件,请记住,在Visual Studio中,配置转换与配置相关联。

要添加另一个转换,您需要先添加新配置。要添加另一个转换,请执行以下操作:
通过配置管理器(下拉菜单,您可以选择Debug或Release),首先添加一个新配置,例如myNewConfig。然后选择myNewConfig。现在在Solution Explorer中选择Web.config,右键单击并在上下文菜单中选择“Add Config Transform”:
它将创建Web. myNewConfig. config。一旦它存在,上下文菜单将再次变灰,因为VS只允许每个配置进行一次转换。

t1rydlwq

t1rydlwq4#

我通过认识到两件事解决了这个问题:
1.有一个解决方案级配置,还有项目级配置。web.MyConfigName.config是基于项目级配置创建的。

  1. Visual Studio 2017组态管理员似乎是以从(隐藏的)obj文件夹加入哪些组态为基础。删除项目的obj文件夹并重新建置,将会以您加入的组态更新项目。
    要使“添加配置转换”选项可用,请执行以下步骤:
    1.确保您已启用显示隐藏文件
    1.打开解决方案的配置管理器
    1.选择相关的解决方案配置,然后在项目旁边的下拉列表中选择<New..><Edit..>,并添加、删除或编辑所需的项目配置。
    1.删除项目中的obj文件夹。重新生成。确保将更改保存到项目和解决方案文件中。我还重新启动了visual studio,因为为什么不呢。验证您是否将所有项目配置都作为文件夹显示在obj文件夹中。
    1.右键单击web.config并添加配置转换。
    希望对某人有帮助
yc0p9oo0

yc0p9oo05#

为了让这个工作,我必须添加新的属性组到我的csproj文件。

  • 添加配置转换 * 呈灰色显示。

我将以下XML添加到csproj并重新加载了项目。然后,“添加配置转换”可用。选择后,添加的转换即被添加

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'IAT_CMCD|AnyCPU'">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'UAT_CM|AnyCPU'">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
disho6za

disho6za6#

如何启用“添加配置转换”选项。请按照以下步骤操作。步骤1:转到解决方案配置(团队下方)Go to Solution configuration (Below Team)
步骤2:单击配置管理器Click on configuration manager
步骤3:从活动解决方案配置窗口Select New from Active solution configuration window中选择“新建”
第4步:现在给你的新项目给予个有意义的名字,如生产/暂存,并从“发布”选项中选择复制设置。如果默认情况下没有选中复选框,请确保选中它,然后单击确定。Now give meaningful name to your new item like Production/Staging
步骤5:现在返回到解决方案资源管理器,右键单击Web.Config文件。Add Config Transform is enable now
您好!添加配置转换现在已启用。:)

相关问题