Visual Studio Внешние ссылки не работают на опубликованном сайте

1

Я создал веб-проект, который отлично работает при публикации и при отладке внутри Visual Studio. Когда я добавляю внешнюю ссылку через диспетчер ссылок, она добавляет ее правильно и запускается внутри Visual Studio во внутренний IIS Express. Когда я публикую веб-сайт на своем сервере, внешние приложения не работают, и похоже, что они даже не доступны.

Что мне не хватает, чтобы получить эту DLL-версию Interop на веб-сервере?

Должен быть некоторый "крючок" для подключения к этой DLL, который используется при локальном запуске, который не существует при развертывании. Вкратце, это API, который я пытаюсь развернуть на сервере, на котором установлено и работает приложение. API обычно работает при локальном запуске в VS, но не работает, когда я развертываю его на веб-сайте IIS на том же сервере. Веб-сайт IIS имеет полные разрешения, что не является проблемой, поскольку этот сайт работает только во внутренней сети, а не в Интернете.

ОБНОВЛЕНИЕ: углубляясь в тайну, я подозреваю, что она имеет какое-то отношение к тому, как используются COM-переходы или API. Я установил свойства проекта в "Generate COM interop" и установил свойства ссылки API: Isol = false и Embed Interop Type = True. Я также установил ComVisible = true для всего проекта. Ошибок сборки нет. Нет ошибок в журналах.net или IIS, которые я вижу. Я установил полные разрешения для всех применимых папок. Итак, что мне не хватает?

Наверное, у меня на этом тупике. Я собираюсь попытаться перейти к последнему связанному абоненту и посмотреть, поможет ли это.

Для тех, кого это интересует, похоже, проблема связана с разрешениями DCOM на сервере. Все еще не работает, но, по крайней мере, сервер видит API сейчас, просто имеет ошибки COM Exception, но это намного выше моих возможностей. API для исходного кода или поставщика не поддерживается. Вид меня сходит с ума, так как я заплатил за API, и когда я прошу помощи, они говорят, что поддержки нет.

  • 0
    Как примечание стороны. Это ссылки COM.
  • 0
    Можете ли вы быть более конкретным об этих DLL?
Показать ещё 5 комментариев
Теги:
visual-studio-2012

1 ответ

0

Если вы ссылаетесь на локальные внешние сборки, добавьте их как часть решения (скажем, в папку ThirdPartyAssemblies), а затем установите для каждой DLL "Копировать всегда" в разделе "Свойства".

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

  • 0
    Это не сработало. DLL теперь копируют в папку bin на веб-сервере, но не работают. Когда звонки сделаны, он должен вызвать программу на сервере. Я установил VS и проект на сервере, запустил его локально, и он работал нормально. Если я опубликую его в локальной системе, он не будет работать.
  • 0
    Нужно ли регистрировать эти DLL в папке bin?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню