2

Visual Studio 2010 で簡単なサイトを公開しようとしています。Web Deploy を使用しています。次のエラーが表示されます。

エラー 1 Web 配置タスクが失敗しました。(タイプ 'dbFullSql' のオブジェクトとパス 'Data Source=.\SQLEXPRESS;AttachDbFilename=c:\documents and settings\tavi\my documents\visual studio 2010\Projects\WebApplication3\WebApplication3\App_Data\ aspnetdb.mdf;Integrated Security=True;User Instance=True' は作成できません。)

タイプ 'dbFullSql' およびパス 'Data Source=.\SQLEXPRESS;AttachDbFilename=c:\documents and settings\tavi\my documents\visual studio 2010\Projects\WebApplication3\WebApplication3\App_Data\aspnetdb.mdf;Integrated Security=True のオブジェクト;User Instance=True' を作成できません。データベース 'c:\documents and settings\tavi\my documents\visual studio 2010\Projects\WebApplication3\WebApplication3\App_Data\aspnetdb.mdf' に接続できません。ファイル c:\documents and settings\tavi\my documents\visual studio 2010\Projects\WebApplication3\WebApplication3\App_Data\aspnetdb.mdf の自動命名データベースをアタッチしようとして失敗しました。同じ名前のデータベースが存在するか、指定されたファイルを開くことができないか、ファイルが UNC 共有にあります。0 0 ウェブアプリケーション3

SQL Server Management Studioaspnetdb.mdfを使用してファイルを削除しましたが、まだこのエラーが発生します。何が間違っている可能性がありますか?

4

1 に答える 1

1

私は同じ問題に遭遇しました (ただし、aspnetdb.mdf ではなく SQL Server を使用)。質問が古いことは知っていますが、今後の参考のためにこれを投稿しています。

このソリューションを使用すると、新しいデータベースがデプロイされる前にデータベースが削除されることに注意してください。したがって、これは安全でない操作であり、開発にのみ適しています。

まず第一に、データベースを削除するオプションはプロジェクト設定のチェックボックスから利用できるはずですが、代わりにプロジェクト ファイルを手動で編集する必要があります。へのエントリは、記事「方法: Web アプリケーション プロジェクトを使用してデータベースをデプロイする」です。「自動生成されたスクリプトを使用した再デプロイ」セクションで、自動生成されたスクリプトの設定ScriptDropsFirst=TruePreSource element、新しいデータベースがデプロイされる前にターゲット データベースが削除されることを確認できます。

したがって、これを行うには:.csprojファイルをメモ帳で開き、セクションPreSource(各構成の debug/release/... ごとに 1 つ) を見つけ、ScriptDropsFirst="True"そこに要素を追加して、xml タグ全体がフォームに 表示されるようにします。<PreSource Path="Data Source=LOCALHOST\SQLEXPRESS%3bInitial Catalog=myDB%3bIntegrated Security=True" ScriptSchema="True" ScriptData="False" CopyAllFullTextCatalogs="False" ScriptDropsFirst="True" />

これらの設定を使用して、必要に応じてデータベースを再公開できます。


補足: このソリューションは、ソリューションを更新する必要があるとすぐにデータベースを削除できない運用環境ではほとんど機能しません。代わりに、同じ記事の「カスタム スクリプトを使用してデータベースの変更を展開する」セクションで紹介されているように、カスタム スクリプトを使用して更新を支援することを選択します。

于 2011-06-27T21:29:19.233 に答える