在 iis 部署中构建不使用值的 webdeploy 项目
Building a webdeploy project not using values in iis deployment
显然我不理解 appdeploy.pubxml 文件的连接。
我想在我的 web.config 文件中有这样的连接字符串:
<add name="TestDB" connectionString="Server=.\SQLExpress;User ID=WebUser;Password=[pass];Initial Catalog=TestDB" providerName="System.Data.EntityClient" />
在我的 appdeploy.pubxml 文件中我有这个:
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="TestDB" Order="1" Enabled="False">
<Destination Path="Data Source=.\SQLExpress;Initial Catalog=TestDB;User ID=WebUser;Password=[Pass];Application Name=EntityFramework" Name="Data Source=.\SQLExpress;Initial Catalog=TestDB;User ID=WebUser;Password=[pass];MultipleActiveResultSets=True;Application Name=EntityFramework" />
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
<ItemGroup>
<MSDeployParameterValue Include="$(DeployParameterPrefix)TestDB-Web.config Connection String">
<ParameterValue>Data Source=.\SQLExpress;Initial Catalog=TestDB;User ID=WebUser;Password=[Pass];Application Name=EntityFramework</ParameterValue>
</MSDeployParameterValue>
</ItemGroup>
当我发布应用程序时,将其复制到测试 iis 服务器并导入它,我得到了输入信息的对话框,并且在文本框中。但是,Web服务器上web.config中的连接字符串被重写为:
<add name="TestDB" connectionString="Server=[YourDbServerAddress];User ID=[YourDbLogin];Password=[YourDbPassword];Initial Catalog=[YourDbName]" providerName="System.Data.EntityClient" />
好像信息项与我在 appdeploy.pubxml 中的配置不匹配,所以它没有被传递。我做错了什么?
我可以使用已有的东西吗?如果不存在,我可以使用 "Default" 吗?
答案在web.release.config 转换文件中。这就是配置 web.config 文件中的行的内容。安装站点时,appdeploy 似乎控制了菜单选项。
显然我不理解 appdeploy.pubxml 文件的连接。
我想在我的 web.config 文件中有这样的连接字符串:
<add name="TestDB" connectionString="Server=.\SQLExpress;User ID=WebUser;Password=[pass];Initial Catalog=TestDB" providerName="System.Data.EntityClient" />
在我的 appdeploy.pubxml 文件中我有这个:
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="TestDB" Order="1" Enabled="False">
<Destination Path="Data Source=.\SQLExpress;Initial Catalog=TestDB;User ID=WebUser;Password=[Pass];Application Name=EntityFramework" Name="Data Source=.\SQLExpress;Initial Catalog=TestDB;User ID=WebUser;Password=[pass];MultipleActiveResultSets=True;Application Name=EntityFramework" />
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
<ItemGroup>
<MSDeployParameterValue Include="$(DeployParameterPrefix)TestDB-Web.config Connection String">
<ParameterValue>Data Source=.\SQLExpress;Initial Catalog=TestDB;User ID=WebUser;Password=[Pass];Application Name=EntityFramework</ParameterValue>
</MSDeployParameterValue>
</ItemGroup>
当我发布应用程序时,将其复制到测试 iis 服务器并导入它,我得到了输入信息的对话框,并且在文本框中。但是,Web服务器上web.config中的连接字符串被重写为:
<add name="TestDB" connectionString="Server=[YourDbServerAddress];User ID=[YourDbLogin];Password=[YourDbPassword];Initial Catalog=[YourDbName]" providerName="System.Data.EntityClient" />
好像信息项与我在 appdeploy.pubxml 中的配置不匹配,所以它没有被传递。我做错了什么?
我可以使用已有的东西吗?如果不存在,我可以使用 "Default" 吗?
答案在web.release.config 转换文件中。这就是配置 web.config 文件中的行的内容。安装站点时,appdeploy 似乎控制了菜单选项。