如何完全摆脱web.config中的“$(ReplacableToken …)”
我正在创build一个可发布的包,当我导航到obj\Debug\Package\PackageTmp
目录时,我看到web.config的连接string被一个可replace的标记取代,我根本就不想这样做。 我不会使用发布batch file或任何东西,我会复制目录中的文件(我使用发布软件包系统只是为了摆脱大量的dynamic生成的文件,而我正在testing我的项目,并得到我的项目的新鲜/原始文件树)我不希望这些web.config令牌和转换等,我只是想我的web.config文件被复制就像任何其他文件。 我如何做到这一点? 我已经看到/p:AutoParameterizationWebConfigConnectionStrings=False
行的/p:AutoParameterizationWebConfigConnectionStrings=False
方法,但我没有使用命令行,我正在使用GUI来创build包。 我将如何停止web.config将连接string更改为令牌?
而之前,你说:是的,我知道我可以从原来的目录复制原始的web.config,但我不想处理这个,我想完成它,只要点击一下,因为我正在testing发布包和经常重新创build包。
您必须编辑.csproj文件,并在Debug PropertyGroup中添加以下内容:
<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>
我在我的Project.csproj(我只添加了AutoParameterizationWebConfigConnectionStrings行) 发布和ReleaseCERTconfiguration以下:
<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>
我必须做所接受的答案 ,而是在Properties/PublishProfiles/__THEPROFILE__.pubxml
文件而不是.csproj
文件。
(这可能是因为我使用VS2012?)
我有一个类似的问题,当我试图根据Travis Illig指令在外部为WiX设置创build一个web项目包时。 我通过添加AutoParameterizationWebConfigConnectionStrings=False
到MSBuild/@Properties
来解决它:
<MSBuild Projects="%(ProjectReference.FullPath)" Targets="Package" Properties="Configuration=$(Configuration);Platform=AnyCPU;AutoParameterizationWebConfigConnectionStrings=False" Condition="'%(ProjectReference.WebProject)'=='True'"
我不得不在我的Project.csproj
文件的Release
条件部分添加以下内容:
<InsertAdditionalWebCofigConnectionStrings>False</InsertAdditionalWebCofigConnectionStrings>