如何完全摆脱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=FalseMSBuild/@Properties来解决它:

 <MSBuild Projects="%(ProjectReference.FullPath)" Targets="Package" Properties="Configuration=$(Configuration);Platform=AnyCPU;AutoParameterizationWebConfigConnectionStrings=False" Condition="'%(ProjectReference.WebProject)'=='True'" 

我不得不在我的Project.csproj文件的Release条件部分添加以下内容:

 <InsertAdditionalWebCofigConnectionStrings>False</InsertAdditionalWebCofigConnectionStrings>