Подтвердить что ты не робот

Невозможно установить или запустить приложение: Нажмите "Один раз"

Я опубликовал приложение .net с помощью ClickOnce, и все мои пользователи получили следующее сообщение об ошибке при попытке открыть программу:

"Невозможно установить или запустить приложение. Приложение требует, чтобы сборка Telerik.Windows.Data Version 2012.1.215.40 была установлена ​​в глобальном кэше сборок (GAC) сначала".

Версия, которую я фактически использую в своем приложении, является NEWER, чем тот, который указан в сообщении об ошибке. У меня также нет этой проблемы на моей машине, которую я использую для разработки приложения. Интересно, почему он ищет более старую версию dll. Я не могу найти, на что ссылается мое приложение.

Не могли бы вы помочь мне в этом?

4b9b3361

Ответ 1

Я нашел решение здесь:

http://ablogontech.wordpress.com/2009/01/02/unable-to-install-or-run-the-application-the-application-requires-that-the-assembly-be-installed-in-the-global-assembly-cache-gac-first/

Выдержка из ссылки wordpress:

Я получил эту ошибку при компиляции моего первого выпуска С# выражение. Я должен был сделать следующее в Visual Studio для проект:

  • В обозревателе решений разверните ссылки node и щелкните узел, указанный в ошибке. Убедитесь, что Копирование локально в сетке свойств установлено значение "Истина".
  • В свойствах проекта опубликуйте | Вкладка "Файлы приложений", убедитесь, что статус публикации для сборки, указанной в ошибке, установлен to 'Include

Ответ 2

В моем случае проблема вызвала это сообщение об ошибке с неправильной конфигурацией публикации библиотек.

Когда я устанавливаю свойство моей библиотеки CopyLocal = false, а затем в файлах проекта публиковать файлы приложений Опубликовать статус до Включить, все работает отлично после перестройки проекта и последующей публикации.

Таким образом, мы говорим компилятору ClickOnce, чтобы не публиковать эту библиотеку с приложением по умолчанию, и, изменив состояние публикации с Предпосылки на Включить, сообщите ClickOnce, чтобы не искать это библиотеки в GAC.

Ответ 3

У меня была такая же ошибка, когда я забыл изменить конфигурацию решения от "Отладка" до "Release" в Visual Studio.

Ответ 4

Вы также должны убедиться, что в вашем файле app.config нет неправильного перенаправления привязки сборки. Найдите node, как:

  <dependentAssembly>
    <assemblyIdentity name="Telerik.Windows.Data" publicKeyToken="--SomePublicToken--" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-3.0.2.0" newVersion="3.0.2.0"/>
  </dependentAssembly>

и убедитесь, что диапазон old до new имеет смысл или просто, что этот node имеет смысл вообще. Моя первая попытка - просто удалить его и снова проверить. Может случиться так, что некоторые пакеты NuGet возились с конфигурационным файлом в старой версии, и этот node больше не нужен в новее один раз (и он не удаляется автоматически).