Вопрос по azure, c++-cli, unmanaged, c#, cloud – Windows Azure не находит DLL проекта C ++ / CLI

2

У меня есть проект C ++ / CLI, который охватывает неуправляемую библиотеку сжатия C, и на этот проект ссылается проект MVC3, который вызывает функцию сжатия C ++.

Все отлично работает локально, но когда я публикую решение в облаке Azure, я получаю сообщение об ошибке, в котором говорится, что он не может найти модуль / dll:

Could not load file or assembly 'LZGEncoder.DLL' or one of its dependencies. The specified module could not be found.

Почему он не может найти файл DLL? это идет в неправильное место или компилируется вообще? Есть ли способ проверить? Спасибо!

Error: User Rate Limit Exceeded Security Hound

Ваш Ответ

4   ответа
6

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

1) Error: User Rate Limit ExceededError: User Rate Limit Exceeded

Error: User Rate Limit Exceeded
vcredist_x64.exe /q /norestart
exit /b 0

Error: User Rate Limit ExceededServiceDefinition.csdefError: User Rate Limit Exceeded

<Startup>
  <Task commandLine="InstallVCRedist.bat" executionContext="elevated" taskType="simple" />  
</Startup>  

UPDATE:
Error: User Rate Limit ExceededError: User Rate Limit ExceededR2Error: User Rate Limit Exceeded

Можете ли вы быть конкретным, где поставить vcredist_x64.exe и InstallVCRedist.bat? В каком проекте и папке? Я помещаю их в папку bin проекта asp.net и отмечаю их как «всегда копировать», но это, похоже, не работает. Не уверен, как отладить проблему. Любой совет очень ценится!
@miliu Неважно, куда ты их положил. Я скопировал оба файла в корневую папку моего решения, а затем добавил их в свое решение через Visual Studio. Папка bin содержит выходные данные сборки, вы не должны помещать туда статичные элементы, «всегда копировать». это то, что в конечном итоге копирует файл в папку bin. Shahin Dohan
Как добавить ServiceDefinition.csdef в мой существующий проект в веб-версии VS 2012 Express?
2

Error: User Rate Limit Exceeded

Уже ответил и перечислил шаги, чтобы сделать это, но я должен ждать до завтра, чтобы выбрать свой собственный ответ. Я просто загружаю пакет VC ++ и сценарий для его установки и добавляю задачу запуска в элемент XML WebRole в ServiceDefinition.csdef. Ура! Shahin Dohan
Я попробую это завтра на работе, спасибо. Когда вы говорите, что отсутствует DLL, вы имеете в виду, что это может зависеть от некоторых других библиотек DLL, которые не доступны в облаке, но только локально? Shahin Dohan
Да, именно так. При использовании нативной ссылки в управляемом проекте вам нужно будет предоставить все библиотеки DLL, необходимые для вашей нативной ссылки. Также иногда вам может понадобиться установить собственную среду выполнения на виртуальной машине Azure, чтобы получить все собственные ссылки. (это может быть не так с вами, но, несомненно, можно установить VC ++ runtine, чтобы заставить работать нативную ссылку, но все зависит от того, какую нативную ссылку вы используете)
Спасибо за подтверждение. Я рад, что это сработало для вас. Теперь убедитесь, как установить среду выполнения VC ++, но вам может потребоваться использовать задачу «Запуск», чтобы выполнить ее на виртуальной виртуальной машине Azure.
Да, это действительно тот случай, когда мне нужны библиотеки времени выполнения VC ++ 2010, или я мог скомпилировать проект с VS2008, так как Azure использует старые библиотеки из коробки. Я бы проголосовал за ваш ответ, но пока не могу этого сделать. Shahin Dohan
0

Error: User Rate Limit ExceededError: User Rate Limit ExceededError: User Rate Limit Exceeded

1

Error: User Rate Limit Exceeded

Похожие вопросы