Как вручную запретить автоматическую загрузку файла в конструкторе при открытии решения? - PullRequest
1 голос
/ 29 ноября 2011

У меня есть проект Visual Studio 2005 BIDS, который экспортирует около 30 таблиц базы данных из одной системной базы данных в другую базу данных.

Иногда мне нужно добавить таблицу в процесс экспорта. Кроме того, с момента появления проекта пакета служб SSIS мне пришлось обновлять его, может быть, 8-12 раз. Каждый раз у меня не было проблем с Visual Studio Designer или загрузкой проекта.

Сегодня мне нужно было добавить еще одну таблицу в проект экспорта, но есть проблема. Когда я открываю Visual Studio 2005 и открываю проект, окно конструктора пытается открыть мой файл package.dtsx, но VS просто зависает и никогда не загружает файл в конструктор. Если я пытаюсь взаимодействовать с окном VS, из задачи Windows появляется сообщение о том, что «Microsoft Visual Studio занята».

Мой пакет и мой проект VS работали нормально с момента моего последнего развертывания на SQL Server. Это новая проблема, и я никогда не видел ее раньше.

Есть ли способ изменить файл (ы) решения Visual Studio, чтобы мой файл Package.dtsx не загружался автоматически в конструктор?

В качестве альтернативы, есть ли какой-нибудь метод, процедура, утилита и т. Д., Которые я могу использовать для очистки моего решения или проекта Visual Studio?

В конечном итоге мне нужно решить проблему с моим файлом Package, но я знаю, что это может быть немного неопределенной проблемой с такой ограниченной информацией. Сейчас я предпочел бы иметь возможность открывать свое решение Visual Studio без автоматической загрузки моего файла в конструктор.

Ответы [ 2 ]

4 голосов
/ 29 ноября 2011

На основании вашего комментария удалите или переместите файл .suo.Это файл, который содержит все ваши открытые файлы в решении проекта.

По умолчанию свойство DelayValidation в задачах потока управления установлено на False .Это означает, что каждый раз, когда вы открываете пакет, все менеджеры соединений будут проверяться, чтобы убедиться, что они все еще действительны.

Если я имею дело с большим пакетом, я обычно предпочитаю установить для свойства DelayValidation не менее в задачах DataFlow значение True , чтобы проверкадиспетчеры соединений, используемые внутри задачи DataFlow, происходят только во время выполнения пакета, а не каждый раз, когда я его открываю.

Подробнее о свойстве DelayValidation можно узнать по следующей ссылке MSDN.

DtsContainer.Свойство DelayValidation

Возвращаясь к вашей проблеме, убедитесь, что при закрытии решения пакеты не открыты.Таким образом, когда решение откроется в следующий раз, оно не будет пытаться загрузить какой-либо пакет в IDE.

Если это не сработает, щелкните правой кнопкой мыши проект SSIS и выберите Properties.Убедитесь, что в разделе Debugging свойство StartObjectID не установлено для какого-либо конкретного пакета в решении.Приведенный ниже снимок экрана был взят из SSIS 2008 R2, который является оболочкой VS 2008.

Надеюсь, это то, что вы ищете.

Properties

3 голосов
/ 29 ноября 2011

Найдите файл .suo в папке вашего решения. Он содержит пользовательскую информацию о среде Visual Studio относительно вашего решения.

Удалите его, и Visual Studio не будет автоматически открывать какой-либо пакет или файл при открытии решения. Не стесняйтесь удалять его, поскольку он не содержит никакой информации, необходимой для работы пакетов / проектов / решений.

...