На System.Design нельзя ссылаться в библиотеке классов? - PullRequest
0 голосов
/ 18 ноября 2010

У меня очень странная проблема, которую я не могу исправить и не знаю, что происходит ... Я использую VS 2010 Premium и .NET 4.0.

Вот мои шаги, чтобы смоделировать проблему.


Шаг 1. Создайте новый проект библиотеки классов VB с именем «MyClassLib»

Шаг 2. Создайте новый класс с именем «MyTestingClass».

Public Class MyTestingClass
    Inherits System.ComponentModel.Design.CollectionEditor

    Public Sub New()
        MyBase.New(GetType(List(Of String)))
    End Sub

End Class

Шаг 3. Добавьте две ссылки .net.«System.Design» и «System.Drawing».

Шаг 4. Создайте новое консольное приложение VB с именем «MyClassExe»

Шаг 5. Добавьте ссылку «MyClassLib» в «MyClassExe».

Шаг 6. Откройте Module1.vb в проекте «MyClassExe»

Шаг 7. В методе Main введите

Dim a = New MyClassLib.MyTestingClass()

Шаг 8. Попробуйте скомпилировать MyClassLib».У него нет проблем.

Шаг 9. Попробуйте скомпилировать «MyClassExe».Он не может скомпилироваться, потому что не может быть найден ВЕСЬ MyClassLib !!!


Понятия не имею, что происходит?

Более того, такой же случай происходит в C #.

Кто-нибудь знает в чем проблема с "System.Design"?

Спасибо !!!

1 Ответ

4 голосов
/ 18 ноября 2010

Добавить ссылку на System.Design в консольном проекте.

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

...