Проблемы с использованием библиотеки классов на рабочей машине

У меня есть библиотека классов с различными пространствами имен, созданными с помощью VB.NET.

Пример класса:

Namespace XYZ
    Public NotInheritable Class Class1
        Shared Function One() As List(Of String)
        End Function

        Shared Sub Two()
        End Sub
    End Class
End Namespace

Некоторые из них содержатся в ClassLibrary.dll, ссылка на который содержится на веб-сайте ASP.NET Web Forms.

Когда я использую это на машине разработки, все работает нормально. Однако, когда я пытаюсь вызвать страницу на производственной машине, которая использует любой код, на который ссылаются, это не работает.

Прошу прощения, у меня нет точных сообщений об ошибках, но они в основном:

  1. Класс 1 не объявлен.
  2. Пространство имен XYZ не содержит открытых членов (или что-то в этом роде).

Я сделал некоторые поиски и не повезло.

Этот код работает, когда я тестирую его с помощью настольных приложений и страницы aspx, работающей в IIS машины разработки.

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

Когда я помещаю код непосредственно на страницу aspx.vb, он не генерирует ошибку компиляции, но DropDownLists по-прежнему не заполняется.

Пример кода для заполнения DropDownLists:

ddl_One.DataSource = Class1.GetEmployeeNames()
ddl_One.DataBind()

Изменить (дополнительная информация):

Компилятор Microsoft (R) Visual Basic версии 11.0.50938.18408 Copyright (c) Microsoft Corporation. Все права защищены.

ошибка BC30002: тип «CapabilitiesForm» не определен.

Информация о версии: Версия Microsoft .NET Framework: 4.0.30319; Версия ASP.NET: 4.0.30319.18408


person Jason Sgalla    schedule 19.04.2014    source источник
comment
Это веб-сайт или проект веб-приложения?   -  person John Saunders    schedule 05.06.2014
comment
Важно указать это, например, с помощью тега web-site-project. Они сильно отличаются от всего остального.   -  person John Saunders    schedule 05.06.2014
comment
Я упомянул об этом в своем исходном сообщении. Некоторые из них находятся внутри ClassLibrary.dll, на который есть ссылки на веб-сайте ASP.NET Web Forms. Хотя тег тоже не помешал бы. Тай   -  person Jason Sgalla    schedule 06.06.2014
comment
Термин веб-сайт должен быть явно устранен. Многие люди, использующие проект веб-приложения, по-прежнему называют его веб-сайтом, по крайней мере, часть времени.   -  person John Saunders    schedule 06.06.2014
comment
Это была моя ошибка. Я думал, что указание на то, что это веб-сайт ASP.NET Web Forms, устранит двусмысленность. Спасибо за добавление тега и разъяснение.   -  person Jason Sgalla    schedule 06.06.2014
comment
Да, проект веб-сайта сделал бы это достаточно ясным для меня.   -  person John Saunders    schedule 06.06.2014


Ответы (3)


Проблема заключалась в настройке IIS, связанной с пулом приложений.

Прошу прощения, у меня нет подробного решения, но эта проблема была решена путем устранения неполадок.

person Jason Sgalla    schedule 05.06.2014

Если вы используете клиентский профиль .Net Framework 4.0, измените его на .Net Framework 4.0 и проверьте, установлен ли Microsoft .NET Framework 4 на рабочем компьютере. может только Microsoft .NET Framework 4 Client profile установлен?

Также проверьте, отмечена ли импортированная DLL в свойствах проекта => Ссылки => Импортированные пространства имен.

person Deja Vu    schedule 20.04.2014
comment
Я думаю, вы можете что-то понять с клиентским профилем .Net Framework 4.0. Когда они настраивали ящик IIS, я помню, как он комментировал, что не уверен, какой из них выбрать. Я попрошу его проверить это завтра. Я знаю, что добавил ссылку. - person Jason Sgalla; 21.04.2014
comment
К сожалению, версии были одинаковыми на обеих машинах. - person Jason Sgalla; 22.04.2014

Перекомпилируйте веб-сайт, а затем опубликуйте. Иногда это помогает.

person Nanosoft    schedule 22.04.2014
comment
Я все еще жду обновления о том, работала ли публикация или нет. Я знаю, что собирал сайт несколько раз, и мне не повезло. - person Jason Sgalla; 24.04.2014