2015-04-15 3 views
3

Я получаю эту ошибку при открытии веб-сайта из Visual Studio 2013. LibSass.x64.dll & libsassnet.dll находятся в bin.Не удалось загрузить файл или сборку «LibSass.x64» или одну из его зависимостей в VirtoCommerce

Не удалось загрузить файл или сборку «LibSass.x64» или один из его зависимостей

+0

Что случилось со мной, я не понимал, что были версии 2 в NUGENT менеджера пакетов. Я установил LibSass, не увидев LibSass.x64. – BenG

ответ

0

Это известная проблема с libsassnet. В основном вам нужна правильная ссылка на библиотеку: 32 бит или 64 бит. В нашем проекте мы ссылаемся на 64 бит, и поэтому проект должен быть скомпилирован и запущен в 64-битной среде. По умолчанию IIS Express работает в 32 бит (поскольку VS.NET работает в 32), поэтому вы получаете исключение.

Лучше создать сайт IIS и запустить его с помощью него или вы можете изменить ссылку на libgassnet на 32-разрядную версию.

PS: мы решили это автоматически в лазурном развертывании, но все еще работаем с разработчиками libsassnet для его решения при его локальном развертывании.

+0

Не могли бы вы рассказать о том, как именно ссылаться на 32-битную версию? Я только что загрузил последнюю версию Virto 2.x, и когда я развернусь на бесплатное веб-приложение Azure, на котором я размещаю его, 64-битный вариант не является вариантом. Я не вижу ссылки на libsass в списке пакетов nuget. В конечном итоге я понял, что после развертывания я могу вручную удалить файлы libsass и LibSass.x64.dll из папки bin, но я знаю, что должен быть лучший способ. Я знаю, что я должен упустить что-то очевидное. – N1njaB0b

+0

В последней версии уже есть исправление, которое автоматически ссылается на правильную dll в зависимости от используемой среды, не нужно ничего делать выше. Это делается сейчас во время выполнения, и обе библиотеки DLL включены в проект. – Woland

+0

Это, конечно, похоже на то, что _should_ работает именно так. Я вижу LibSassNetProxy, и я вижу dll x64 и x86 в папке App_Data, но когда я развертываю свой 32-разрядный Azure-сайт, я все равно получаю сообщение «Не удалось загрузить файл или сборку« LibSass.x64 »или один из его зависимостей ", несмотря на то, что моя целевая платформа для всех проектов в решении установлена ​​на x86. – N1njaB0b

5

Вы можете переключиться на 64-битном IIS Express в настройках Visual Studio:

Инструменты> Параметры> Проекты и решения> Веб-проекты> Использование 64-разрядной версии IIS Express для веб-сайтов и проектов.

Update: Если вы получаете эту ошибку на чистой машине Windows, вы должны установить Visual C++ Redistributable Packages for Visual Studio 2013.

Я рекомендую установить как x86, так и x64 пакеты.

+0

Да, это была проблема для нас, но мы устанавливали пакет перераспределения на 2012 год, но строили решение в 2013 году, поэтому нам пришлось установить пакет 2013 года. Так выглядит, что пакет должен соответствовать версии сборки. – craigvl

Смежные вопросы

 Смежные вопросы