Как найти зависимость .NET Framework 3.5 - PullRequest
2 голосов
/ 18 марта 2009

Я борюсь с проблемой развертывания, которая оставляет меня полностью потерянным. Это выглядит так:

У меня есть проект развертывания Visual Studio, который устанавливает приложение - некоторые сборки, каждая из которых скомпилирована для целевой платформы .NET Framework 2.0. Я недавно назвал их всех строго (потому что одна из сборок является «Shared Add-In» для MS Word и MS Outlook, и в руководствах говорится, что они должны быть строго названы. Я понятия не имею, почему.) Я думаю это когда моя проблема началась. Но я тоже могу ошибаться.

Теперь проблема в том, что после установки .MSI-пакета я пытаюсь запустить приложение, и оно вылетает. Когда я сейчас перехожу к Центру обновления Windows - он как-то обнаруживает, что .NET Framework 3.5 sp1 необходимо установить. Он не обнаруживает это, если я запускаю его перед установкой пакета .MSI!

После установки .NET Framework 3.5 мое приложение начинает работать.

Понятия не имею, откуда взялась эта зависимость! (Если я не могу понять это, тогда мне придется сделать 3,5 необходимых для моего приложения, но я был бы рад, если бы мог отследить, откуда взялась зависимость.)

Я не знаю, является ли это подсказкой, но перед установкой 3.5 я пытаюсь проверить сборки с помощью Reflector, и Reflector не может перемещаться от одной сборки к другой, говоря «Следующее имя сборки не может быть разрешено автоматически» и затем он указывает правильное имя сборки, версию и PublicKeyToken файла, который присутствует в той же папке. Еще более странно, что это делается для зависимости от сборки Microsoft.VisualC. Но опять же: после установки 3.5 все решаемо.

Я очень благодарен за все, что может пролить свет на мою проблему,
ТИА

Ответы [ 3 ]

1 голос
/ 23 марта 2009

Ну, ну, после нескольких бессонных ночей я наконец-то решил, что это действительно не полный .NET Framework 3.5, который требуется. Просто некоторые файлы, которые распространяются вместе с ним. Одна из моих сборок была написана на C ++ / CLI, а затем мне также нужно распространить предварительное условие «Библиотеки среды выполнения Visual C ++ (x86)». Как-то очевидно, когда ты это заметил. Вздох

0 голосов
/ 18 марта 2009

Перейдите в обозреватель решений. Выберите ваш проект установки. Щелкните правой кнопкой мыши. Перейти к представлению> Условия запуска. Затем в открывшемся новом окне выберите .NET Framework и перейдите к его свойствам. Одно из свойств называется версией. Там, если у вас 3,5, то это ваша проблема. Измените это на 2.0, и вы будете в порядке.

0 голосов
/ 18 марта 2009

Трудно понять, где вы ввели зависимость, не видя свой код. Вы можете использовать Reflector (бесплатный инструмент) для анализа ваших DLL и просмотра ссылок на них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...