1

Webサイトとデータベースを展開するためのパッケージを作成しようとしています。

マニフェスト.xml:

<sitemanifest>
   <iisApp path="webApp" />
   <dbDacFx path="database.dacpac" />
</sitemanifest>

parameters.xml:

<parameters>
  <parameter name="appPath" defaultValue="dev.local" tags="iisapp"> 
    <parameterEntry kind="ProviderPath" scope="iisApp" match="webApp" /> 
  </parameter>
  <parameter name="dbServer" defaultValue="localhost" tags="dbServer,sql" />
  <parameter name="connectionString" defaultValue="Server={dbServer};Initial Catalog=MyDatabase;Integrated Security=True;" tags="hidden,sql,sqlconnectionstring">
    <parameterEntry kind="ProviderPath" scope="dbDacFx" match="database.dacpac" /> 
    <parameterEntry kind="XmlFile" scope="webApp\\Web.config" match="//connectionStrings/add[@name='DB']/@connectionString" />
  </parameter>
</parameters>

そして、次のエラーが発生します。

There is no stream data associated with 'database.dacpac'.

マニフェストでdbDacFxプロバイダーを使用することは可能ですか?

4

1 に答える 1

1

マニフェストでdbDacFxプロバイダーを直接使用することはできないようですが、msdeployを使用してパッケージを作成するための回避策があります。

新しいmanifest.xmlフルパスが含まれている必要があります):

<sitemanifest>
  <iisApp path="C:\temp\my-test\webApp" />
  <dbDacFx path="C:\temp\my-test\database.dacpac" />
</sitemanifest>

コマンドの発行:

msdeploy.exe ^
-verb:sync ^
-source:manifest=C:\temp\my-test\manifest.xml ^
-dest:package=C:\temp\my-test\package.zip ^
-declareParam:name=appPath,defaultValue="dev.local",tags="iisapp",kind=ProviderPath,scope="iisApp",match="C:\\temp\\my-test\\webApp" ^
-declareParam:name=dbServer,defaultValue="localhost",tags="dbServer,sql" ^
-declareParam:name=connectionString,defaultValue="Server={dbServer};Initial Catalog=MyDatabase;Integrated Security=True;",tags="hidden,sql,sqlconnectionstring" ^
-declareParam:name=connectionString,kind=ProviderPath,scope=dbDacFx,match="C:\\temp\\my-test\\database.dacpac" ^
-declareParam:name=connectionString,kind=XmlFile,scope="webApp\\Web.config",match="//connectionStrings/add[@name='DB']/@connectionString"
于 2012-11-07T17:45:27.080 に答える