展開オプションを復元する方法: (Visual Studio 2010/2012 のみ -- Visual Studio 2013 ではサポートされなくなりました)
展開オプションは引き続き存在しますが、何らかの理由でメニューで使用できません。(呪われた Visual Studio チーム!) 次のように、ツールバーの 1 つに Deploy オプションを追加することで、この問題を回避しました。
- ツールバーの右側にある矢印をクリックします。
- [ボタンの追加と削除] をクリックし、[カスタマイズ] をクリックします。
- [カスタマイズ] ダイアログで、[コマンドの追加] をクリックします。
- [ビルド] カテゴリを選択し、[選択をデプロイ] コマンドを選択します。
- 選択を保存すると、[[プロジェクト名] をデプロイ] オプションがツールバーに表示されます。ボタンを有効にするには、ソリューション エクスプローラーでプロジェクトを選択する必要があります。
展開設定は公開設定とは異なることに注意してください。配置設定は、[デバッグ] タブのプロジェクトのプロパティで構成されます。
公開オプションに関する質問に答えるには:
1) デフォルトで特定のパブリッシュ ファイルを使用し、煩わしいプロンプトを回避する方法
これを回避する方法はないと思います。
2) 変更だけでなく、データベース全体を公開する方法
.publish.xml ファイルをテキスト エディターで開き、.xml を追加し<AlwaysCreateNewDatabase>true</AlwaysCreateNewDatabase>
ます。
例えば:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TargetDatabaseName>MyDatabase</TargetDatabaseName>
<DeployScriptFileName>MyDatabaseProject.sql</DeployScriptFileName>
<TargetConnectionString>Data Source=localhost\SQL2012;Integrated Security=True;Pooling=False</TargetConnectionString>
<PublishDependentProjects>False</PublishDependentProjects>
<ProfileVersionNumber>1</ProfileVersionNumber>
<AlwaysCreateNewDatabase>true</AlwaysCreateNewDatabase>
</PropertyGroup>
</Project>
3) 自動ビルドのコマンドライン構文
まず、.dacpac ファイルがビンに作成されるように、通常どおり msbuild を使用してプロジェクトをビルドします。
次にsqlpackage.exe
、.publish.xml ファイルを使用して公開します。
C:\Program Files\Microsoft Visual Studio 10.0\Microsoft SQL Server Data Tools\sqlpackage.exe /Action:Publish /SourceFile:C:\[path to my project]\bin\Debug\MyDatabaseProject.dacpac /Profile:C:\[path to my project]\MyDatabaseProject.publish.xml
sqlpackage.exe へのパスは異なる場合があることに注意してください。