Хобрук: Ваш путь к мастерству в программировании

Не удалось найти dll TinyMCE .NET.

Я пытаюсь включить dll .Net TinyMCE в свой проект. Код, который я использую:

<%@ Register Assembly="Moxiecode.TinyMCE" Namespace="Moxiecode.TinyMCE.Web" tagprefix="tinymce" %>

Я уже добавил dll к ссылкам в проекте и проверил код в своем csproj, чтобы убедиться, что он правильный. Я изменил его, чтобы убедиться, что у него есть подсказка пути.

<Reference Include="Moxiecode.TinyMCE, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <HintPath>bin\Moxiecode.TinyMCE.dll</HintPath>
  <SpecificVersion>False</SpecificVersion>
</Reference>

Когда я пытаюсь создать свой проект, я получаю сообщение об ошибке:

Не удалось загрузить файл или сборку «file:///C:[ProjectPath]\bin\Moxiecode.TinyMCE.dll» или одну из его зависимостей. Операция не поддерживается. (Исключение из HRESULT: 0x80131515)

Как решить эту ошибку? Я пробовал открывать и закрывать VS2010. Добавление и удаление ссылки. Ничего не сработало.


После дополнительных исследований выяснилось, что проблема в том, что я использую .Net 4.0, а .Net dll TinyMCE не имеет строгого имени. По сути, у него нет PublicKeyToken. Как решить эту проблему?


  • Я отредактировал свой ответ, добавив обновленный ответ на ваш запрос SNK. 18.11.2010

Ответы:


1

Я не уверен, решит ли это проблему, но чтобы ваш путь подсказки был относительным, я считаю, что вам нужно начать его с .\ (или ..\ для родителя)

Где реальный путь к DLL? Пробовали ли вы установить уровень вывода сборки на диагностический (Tools -> Options... -> Projects and Solutions -> Build and Run)

Это дает вам больше информации?

В целях тестирования попробуйте создать C:\Bin\Moxiecode и поместить в него DLL. Это решает проблему? (в этом случае это проблема пути). Если нет, это может быть что-то еще, что вызывает вводящее в заблуждение исключение (поврежденная dll или что-то подобное?). [Редактировать: Путь, указанный в этом абзаце, был правильным до того, как вопрос был отредактирован]

Обновление: если у вас компилируется проект со строгим именем, все ваши ссылки также должны иметь его. Это делается для того, чтобы в ваш код не было внедрено что-то вредоносное. Ваши единственные варианты:

  • Не подписывайте строго свой проект [Плохо]
  • Перекомпилируйте проблемную DLL самостоятельно с помощью SNK [хорошо, если вы можете получить исходный код]
  • Попросите разработчиков DLL создать ее с помощью SNK [хорошо, если вы можете это сделать]
17.11.2010
  • Мои другие эталонные пути точно такие же и работают без проблем. Я попытался поместить dll в C:\Bin\Moxiecode.TinyMCE.dll, и это не сработало. 17.11.2010
  • Я построил его в диагностическом режиме и получил подобную ошибку An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. Затем он сослался на это: msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx. Дело в том, что документ является локальным. 17.11.2010
  • Интересный. Синтаксис File:// при использовании в браузерах может ссылаться на пути UNC, но я не уверен в его использовании здесь. Можете ли вы в целях тестирования создать новый проект только со ссылкой на эту DLL и скомпилировать его. Это тоже не работает? Кстати, когда вы загрузили DLL, есть ли шанс, что у нее все еще установлен флаг небезопасной загрузки? Зависит от того, какую ОС вы используете, но щелкните правой кнопкой мыши «Свойства» и посмотрите вкладку «Общие», а также кнопку «Дополнительно». 18.11.2010
  • Он был отмечен как заблокированный! Я использую Windows 7. Код для TinyMCE также поставлялся с ним, поэтому я смог перекомпилировать его с помощью SNK, и это решило проблему. 22.11.2010
  • @RandomBen Рад, что мы решили эту проблему - у меня никогда раньше не было проблем с блокировкой DLL, но это поймало меня на других типах файлов :) 23.11.2010
  • Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

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

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..