Проблема публикации сайта ASP.NET 4.0 - PullRequest
2 голосов
/ 01 февраля 2011

Я пытаюсь опубликовать простой сайт в Visual Studio 2010. Я использую Web Deploy.Я получаю следующую ошибку:

Ошибка 1 Не удалось выполнить задачу веб-развертывания. (Объект типа 'dbFullSql' и путь 'Источник данных =. \ SQLEXPRESS; AttachDbFilename = c: \ Documents and settings \tavi \ Мои документы \ Visual Studio 2010 \ Projects \ WebApplication3 \ WebApplication3 \ App_Data \ aspnetdb.mdf; Интегрированная безопасность = True; Пользовательский экземпляр = True 'не может быть создан.)

Объект типа' dbFullSql 'и путь'Источник данных =. \ SQLEXPRESS; AttachDbFilename = c: \ Documents and Settings \ tavi \ Мои документы \ Visual Studio 2010 \ Projects \ WebApplication3 \ WebApplication3 \ App_Data \ aspnetdb.mdf; Интегрированная безопасность = True; Пользовательский экземпляр = True "не можетсоздано.Не удается подключиться к базе данных «c: \ Documents and Settings \ tavi \ Мои документы \ 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 WebApplication3

Я удалил файл aspnetdb.mdf с помощью SQL Server Management Studio , и я все еще получаю эту ошибку.Что может быть не так?

1 Ответ

1 голос
/ 28 июня 2011

Я столкнулся с той же проблемой (но с SQL Server вместо aspnetdb.mdf), и это решение, которое работало для меня. Я знаю, что вопрос старый, но я публикую его для будущих ссылок.

Имейте в виду, что при использовании этого решения ваша база данных будет удалена до развертывания новой базы данных. Таким образом, это небезопасная операция и подходит только для разработки.

Прежде всего, я думаю, что опция удаления базы данных должна быть доступна через флажок в настройках проекта, но вместо этого мы вынуждены редактировать файл проекта вручную. Запись в статье Как: развернуть базу данных с проектом веб-приложения . В разделе «Повторное развертывание с использованием автоматически сгенерированных сценариев» мы можем прочитать, что установка ScriptDropsFirst=True в PreSource element автоматически сгенерированного сценария приведет к удалению целевой базы данных перед развертыванием новой базы данных.

Итак, для этого: Откройте файл .csproj в блокноте, найдите раздел с именем PreSource (по одному для каждой конфигурации debug / release / ...) и добавьте в него элемент ScriptDropsFirst="True", чтобы весь тег XML находится на форме <PreSource Path="Data Source=LOCALHOST\SQLEXPRESS%3bInitial Catalog=myDB%3bIntegrated Security=True" ScriptSchema="True" ScriptData="False" CopyAllFullTextCatalogs="False" ScriptDropsFirst="True" />

Используя эти настройки, я могу повторно публиковать свои базы данных по своему желанию.


Примечание: это решение вряд ли будет работать в производственной среде, где вы не можете удалить свои базы данных, как только вам потребуется обновить решения. Вместо этого я бы предпочел использовать пользовательские сценарии для помощи в обновлении, как описано в разделе «Развертывание изменений в базе данных с помощью пользовательских сценариев» той же статьи.

...