Aplicación web ASP.Net Agregar transformación Transformación atenuada

88

Agregué un proyecto de aplicación web ASP.Net existente a mi solución. Además de las configuraciones estándar de depuración y liberación, esta solución también tiene dos configuraciones personalizadas, SAT y UAT. Para la nueva aplicación web, hacer clic con el botón derecho en Web.Config muestra el menú contextual, pero la opción para "Agregar transformación de configuración" está atenuada.

Estoy perdido. El nuevo proyecto es una aplicación web. Configuration Manager no muestra las dos configuraciones personalizadas para este proyecto, pero sí para los otros proyectos. El proyecto parece tener las entradas correctas en el archivo de solución.

Pensamientos

paulv7260
fuente

Respuestas:

115

Primero debe definir las configuraciones en el Administrador de configuración. Para asegurarse de que está abriendo el Administrador de configuración, puede acceder a él yendo a: Build-> Configuraton Manager

En el menú desplegable Configuración de solución activa , seleccione <New...>. Una vez que haya agregado, podrá "Agregar transformación de configuración".

No edite su archivo de solución directamente. Solo provocará dolores de cabeza.

Jeremy
fuente
6
Duh. Lo había intentado antes, pero no pude desmarcar la casilla "crear", por lo que estaba fallando como "duplicado". Tan pronto como desmarqué la casilla "crear" funcionó.
paulv7260
@maplemale Lo mismo aquí, la opción sigue siendo gris
Anders Lindén
Lo siento, no puedo recordar cómo hice que esto funcionara. Es posible que haya pirateado el archivo sln directamente, al contrario de la respuesta de Jeremy, a veces es la única opción viable en el tiempo. Sin embargo, no he tenido este problema desde que actualicé a VS2015.
maplemale
2
¡Las configuraciones de soluciones y proyectos son diferentes! Necesita crear una configuración en un proyecto determinado antes de que pueda usar esa transformación. Marque "Crear nuevas configuraciones de proyecto" para crear la configuración en todos los proyectos a la vez, o hágalo individualmente como lo hizo @ paulv7260.
Patrick
1
Si aún está atenuado, asegúrese de que su proyecto web tenga una configuración de compilación que coincida con el nombre de la configuración de la solución y asegúrese de que esté seleccionada.
jmatthias
45

Mientras trabajamos con PublishProfiles, para mí la respuesta fue hacer clic derecho en el pubxmlarchivo relevante (que se encuentra en la Propertiessubcarpeta de la carpeta del proyecto PublishProfiles) y luego seleccionar Add Config Transform. No se necesitan gerentes;).

Paul Siersma
fuente
Esta solución funciona mucho mejor para mí, ya que solo quiero que se agregue esta transformación, nada más. La nueva configuración de la solución activa tiene un impacto en todos los proyectos de la solución, lo que no es relevante en mi caso. ¡Gracias!
Ben
Perfecto. Funciona en mi antiguo proyecto de formularios Web Forms que ahora estoy editando en Visual Studio 2015. Me encanta. Gracias.
bkwdesign
5
Probado y funcionando en VS 2015. Sin embargo, todavía no puedo entender por qué "Agregar transformación de configuración" está atenuado
Illidan
20

En mi caso, en Visual Studio 2015, cuando creé una nueva solución basada en una plantilla de proyecto, Add Config Transform estaba en gris, pero por una razón diferente:

Al hacer clic en "Mostrar todos los archivos", se reveló que los archivos ya estaban allí, solo que estaban ocultos. Por lo tanto, el botón estaba atenuado (porque no es necesario agregarlos, ya que ya están allí).

  1. Haga clic en el icono "Mostrar todos los archivos":
    ingrese la descripción de la imagen aquí

  2. Ahora puede expandir "Web.config":
    ingrese la descripción de la imagen aquí

  3. Haga doble clic en cualquiera de los archivos de transformación ( Web.Debug.configo Web.Release.config) para abrirlo y editarlo.

Notas:

  • No quería agregar una configuración adicional, solo use Debug and Release . Si crea uno, selecciónelo y el archivo de transformación aún no existe, entonces el elemento del menú contextual Agregar transformación de configuración está activo y no está atenuado.

  • Si desea crear archivos de transformación de configuración adicionales , tenga en cuenta que en Visual Studio, las transformaciones de configuración están correlacionadas con las configuraciones. Para agregar otra transformación, primero debe agregar una nueva configuración. Para agregar otro, haga lo siguiente: A través del administrador de configuración (el menú desplegable donde puede seleccionar Depurar o Liberar), agregue primero una nueva configuración, por ejemplo, myNewConfig. Luego seleccione myNewConfig. Ahora seleccione Web.config en el Explorador de soluciones, haga clic con el botón derecho y seleccione en el menú contextual "Agregar transformación de configuración"; se creará Web.myNewConfig.config. Una vez que existe, el menú contextual volverá a aparecer en gris, porque VS solo permite una transformación por configuración.

Mate
fuente
Esta fue la situación para mí también. Quería que los archivos de transformación de configuración permanecieran visibles, así que lo comenté <DependentUpon>Web.config</DependentUpon>en el archivo del proyecto. Las transformaciones aún funcionan como se esperaba.
Ethan
¿Cómo puedo agregar nuevas transformaciones de configuración?
Reshma
@Reshma: en Visual Studio, las transformaciones de configuración están correlacionadas con las configuraciones. A través del administrador de configuración (el menú desplegable donde puede seleccionar Depurar o Liberar), agregue primero una nueva configuración, por ejemplo, myNewConfig. Luego seleccione myNewConfig. Ahora seleccione Web.config, haga clic derecho y seleccione en el menú contextual "Agregar transformación de configuración" - se creará Web.myNewConfig.config.
Matt
Hice eso Matt y pude agregar un archivo de configuración, pero estoy tratando de agregar otro archivo de configuración y ahora nuevamente el "agregar transformación de configuración" está atenuado. También creé un nuevo archivo de configuración para el siguiente archivo de configuración
Reshma
1
@Reshma - Eso es correcto, porque solo puede tener uno por configuración. Para obtener otra, agregue una configuración adicional, digamos, myNewConfig2. Luego, seleccione myNewConfig2 y vuelva a intentarlo. Esta vez no debería ser gris; selecciónelo. Nota: Se atenuará tan pronto como exista un archivo de configuración para esa configuración.
Matt
1

Para que esto funcione, tuve que agregar nuevos grupos de propiedades a mi archivo csproj.

Agregar transformación de configuración estaba atenuado.

Agregué el siguiente XML a mi csproj y recargué el proyecto. luego, Add Config Transform estaba disponible. una vez seleccionado, se agregaron mis transformaciones de adición

<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>
JGilmartin
fuente
1

Resolví esto dándome cuenta de dos cosas:

  1. Hay una configuración de nivel de solución y hay configuraciones de nivel de proyecto . El web.MyConfigName.config se crea en función de las configuraciones de nivel de proyecto .
  2. Parece que Visual Studio 2017 Configuration Manager basa qué configuraciones agregar desde la carpeta obj (oculta). Eliminar la carpeta obj para el proyecto y reconstruir actualizará el proyecto con las configuraciones que ha agregado.

Para que la opción "agregar transformación de configuración" esté disponible, siga estos pasos:

  1. Asegúrese de haber habilitado Mostrar archivos ocultos
  2. Administrador de configuración abierto para la solución
  3. Elija la configuración de solución relevante , luego en el menú desplegable junto a la selección de su proyecto <New..>o <Edit..>y agregue, elimine o edite las configuraciones de proyecto que desee.
  4. Elimina la carpeta obj de tu proyecto. Reconstruir. Asegúrese de guardar los cambios en los archivos de su proyecto y solución. También reinicié Visual Studio, porque ¿por qué no? Verifique que vea todas las configuraciones de su proyecto como carpetas en su carpeta obj.
  5. Haga clic con el botón derecho en web.config y agregue su transformación de configuración.

Espero que ayude a alguien. :)

Emanuel Lindström
fuente
1

Cómo habilitar la opción "Agregar transformación de configuración". Siga los pasos a continuación. Paso 1: vaya a la configuración de la solución (debajo del equipo) vaya a la configuración de la solución (debajo del equipo)

Paso 2: Haga clic en Administrador de configuración Haga clic en Administrador de configuración

Paso 3: seleccione Nuevo en la ventana de configuración de la solución activa Seleccione Nuevo en la ventana de configuración de la solución activa

Paso 4: Ahora dé un nombre significativo a su nuevo elemento como Producción / Puesta en escena y seleccione la configuración de copia de la opción "Liberar". Asegúrese de marcar la casilla de verificación si no viene marcada de forma predeterminada y haga clic en Aceptar. Ahora asigne un nombre significativo a su nuevo elemento como Producción / Puesta en escena

Paso 5: Ahora regrese a su explorador de soluciones y haga clic derecho en su archivo Web.Config. Add Config Transform está habilitado ahora

¡Hola! Add Config Transform está habilitado ahora. :)

nitin27verma
fuente