发布配置文件加密

时间:2017-11-28 18:12:09

标签: c# asp.net encryption visual-studio-2015 publish-profiles

我想加密我的连接字符串和应用设置。目前,我有多个发布配置文件,每个配置文件都有变换。

Below is my pubxml file code but for some reason my target with exec command is not getting triggered. Can some one familiar with the subject matter please help!! 

提前谢谢你。

<project toolsversion="4.0" xmlns="http://schemas.microsoft.co...">
    <propertygroup>
    <webpublishmethod>FileSystem</webpublishmethod>
    <lastusedbuildconfiguration>Release</lastusedbuildconfiguration>
    <lastusedplatform>Any CPU</lastusedplatform>
    <siteurltolaunchafterpublish/>
    <launchsiteafterpublish>True</launchsiteafterpublish>
    <excludeapp_data>False</excludeapp_data>
    <publishurl>e:\Test_Deployment</publishurl>
    <deleteexistingfiles>False</deleteexistingfiles>
    <msdeployenablewebconfigencryptrule>true</msdeployenablewebconfigencryptrule>

    </propertygroup>
    <target name="CustomPostPublishActions" aftertargets="MSDeployPublish">
    <exec command="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pe appSettings -app $(publishUrl)/MyProj"/>
    <exec command="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pef connectionStrings $(publishUrl) -prov MyProviderKey"/>
    </target>

    </project>

1 个答案:

答案 0 :(得分:0)

如果您无法完成这项工作,可以尝试以下步骤:

1-创建新的Build配置(在Debug / Release菜单下,转到 Configuration Manager .. ,然后在 Configuration 列上创建一个新配置)。

2-在Postbuild事件(项目属性&gt;构建事件&gt;构建事件命令行)上添加如下内容:

if "$(ConfigurationName)" == "MyNewBuildConfiguration"(
execute commands in here
)

3-更新您的配置文件以使用此Build Configuration。

希望这有帮助。