visual studio 2010 - studio - Cómo deshacerse de "$(ReplacableToken...)" en web.config completamente
visual studio code html class intellisense (4)
Tenía que hacer lo que decía la respuesta aceptada , pero en cambio en el archivo Properties/PublishProfiles/__THEPROFILE__.pubxml
lugar del archivo .csproj
.
(Esto puede porque estoy usando VS2012?)
Estoy creando un paquete publicable y cuando obj/Debug/Package/PackageTmp
directorio obj/Debug/Package/PackageTmp
, veo que la cadena de conexión de web.config se reemplaza por un token reemplazable, y simplemente no quiero eso. No utilizaré archivos por lotes ni nada, copiaré los archivos en el directorio (estoy usando el sistema de paquete de publicación solo para deshacerme de muchos archivos generados dinámicamente mientras estoy probando mi proyecto y obtengo el árbol de archivos nuevo / original de mi proyecto) No quiero esos tokens y transformaciones web.config, etc., solo quiero que mi archivo web.config se copie como cualquier otro archivo. ¿Cómo logro eso? He visto el método /p:AutoParameterizationWebConfigConnectionStrings=False
para la línea commad pero no estoy usando la línea de comando, estoy usando la GUI para crear el paquete. ¿Cómo evitaré que web.config cambie la cadena de conexión a un token?
Y antes de decir: Sí, sé que puedo copiar el archivo web.config original de mi directorio original, pero no quiero ocuparme de esto y lo otro, quiero finalizarlo con un solo clic, ya que estoy probando el paquete de publicación y recreando frecuentemente el paquete.
Tienes que editar tu archivo .csproj y en Debug PropertyGroup deberás agregar lo siguiente:
<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>
Tengo lo siguiente en las configuraciones Release y ReleaseCERT en mi Project.csproj (solo he agregado la línea AutoParameterizationWebConfigConnectionStrings):
<PropertyGroup Condition=" ''$(Configuration)|$(Platform)'' == ''**Release**|AnyCPU'' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin/</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<!-- add the following line to avoid ConnectionString tokenization -->
<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>
</PropertyGroup>
<PropertyGroup Condition="''$(Configuration)|$(Platform)'' == ''**ReleaseCERT**|AnyCPU''">
<OutputPath>bin/</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<!-- add the following line to avoid ConnectionString tokenization -->
<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>
</PropertyGroup>
Tuve que agregar lo siguiente en la sección de condiciones de la Release
de mi archivo Project.csproj
:
<InsertAdditionalWebCofigConnectionStrings>False</InsertAdditionalWebCofigConnectionStrings>
Tuve un problema similar cuando intentaba crear un paquete de proyecto web externamente para una configuración de WiX de acuerdo con las instrucciones de Travis Illig . Lo resolví agregando AutoParameterizationWebConfigConnectionStrings=False
a MSBuild/@Properties
:
<MSBuild Projects="%(ProjectReference.FullPath)"
Targets="Package"
Properties="Configuration=$(Configuration);Platform=AnyCPU;AutoParameterizationWebConfigConnectionStrings=False"
Condition="''%(ProjectReference.WebProject)''==''True''"