SQLを認識するWeb配置パッケージに問題があります。私はVisual Studio 2015、SQL Server 2014、SSDTデータベースプロジェクトを使用しています。ワークフローは、MVCプロジェクトを作成し、データベースプロジェクトを作成し、DBプロジェクトでSQLクエリーを実行するためにWeb Deploy Packageを使用します。 MVCプロジェクトをWebデプロイメントパッケージにパブリッシュし、パッケージの一部としてデプロイメントにクエリを追加する予定です。 (私は現在、DACPACを試していません。なぜなら、Web Deploy Toolを使用しているときに、展開スクリプトの前後にスクリプトを含めない問題に遭遇したからです)。MS Web Deployパッケージconnectionstring configsourceを使用するとデータベースを無視する
以下の接続文字列を使用してWeb展開パッケージを公開すると問題が発生します。
<connectionStrings configSource="connectionsettings.config">
web.configファイルを防ぐには、ウェブがパッケージを配備するWeb用のWebパッケージに追加するには、データベースを検出してから展開することを
。
deloy package missing database
私は、通常の接続文字列、このような単純なも、何かに変更するたび:
<connectionStrings>
<add name="Default" connectionString="" providerName="System.Data.SqlClient" />
その後のWeb展開パッケージが動作し、あなたが適切なUIを取得します。
誰でもデータベースがあるweb.configのconnectionStringsにconfigsourceを使用して表示するために取得する方法を知っていますか?代わりに、私は上記のconfigSourceを含めるために空の接続文字列を置き換えるためにparameters.xmlを取得することを検討していましたが、運がなかった。
アイデアは、デフォルトの接続を削除し、それを設定ソースに置き換えることでした。デフォルトの接続の削除は機能しますが、configSourceは機能しません。
<parameter name="RemoveConnectionString" defaultValue="">
<parameterValidation kind="AllowEmpty" />
<parameterEntry kind="XmlFile"
scope="Web\.config$"
match="//configuration/connectionStrings/add[@name='Default']" />
</parameter>
<parameter name="AddConfigSource" defaultValue="connectionsettings.config">
<parameterEntry kind="XmlFile"
scope="\\web.config$"
match="/configuration/connectionStrings/@configSource" />
</parameter>
Web配置パッケージは、SQLのための未開発のようだが、私の問題の修正プログラムまたはIIS & SQLのためのオールインワン展開を行うには良い方法はありますか?
我々はにする場合msdeploy/WebDeployを使用大成功を収めて50以上のアプリケーション(Web、サービス&データベースを獲得)を導入してください。私たちは早い段階で同じパッケージにwebとsqlを配置しようとしていることに気がつきました。問題が多かったので、それぞれ個別のパッケージに行きました。これははるかに良く機能しました。 Thoughtworks GO!でパッケージの展開を自動化しました。パイプライン。 – chief7