VS2010 - Презентация рамной сборки. Зачем? - PullRequest
0 голосов
/ 28 марта 2011

========= Обновление (Рид Копси) ==========

Я оставил родительское исключение для всех остальных. Все остальные находятся в других файлах. После восстановления ошибка остается в том же файле. Вот маленький исходный код. Я не вижу ничего, требующего новой сборки:

using System;

    namespace PROJECT.AuxLibraryProject
    {
        public class SharedExceptionParent: Exception
        {
             public string ErrorMessage
             {
                 get
                 {
                     return base.Messsage.ToString();
                 }
             }
             public SharedExceptionParent() { }
             public SharedExceptionParent(string errorMessage) : base(errorMessage) { }
             public SharedExceptionParent(string errorMessage, Exception innerEx) : base(errorMessage, innerEx) { }
        }
    }

========================================

Здравствуйте,

Я действительно новичок в c # и VS2010. : - \

У меня есть "чистое" приложение Winforms. Или, по крайней мере, я так думаю.

Но внезапно (с последними изменениями в исходном коде) у меня возникает эта ошибка при сборке вспомогательной DLL:

Ошибка 7 Тип 'System.Windows.Interop.HwndHost' является определяется в сборке, которая не ссылки. Вы должны добавить ссылку на сборку ' PresentationFramework , Версия = 3.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35. D: \ MyprojectPath \ SharedExceptions.cs AuxLibraryProject

Я не хочу добавлять PresentationFramework.dll в проект, и даже когда я попытался добавить его, потребуется много других сборок. : - (

Я хочу знать, ГДЕ виновно это требование сборки. Я буду рад обвинить какую-то строку в моем исходном коде, но я не могу его найти.

SharedExceptions.cs - это один из измененных файлов, но когда я (вручную) удаляю все изменения, ошибка сохраняется.

Эта же сборка прекрасно компилируется в системе Windows XP Visual Studio 2010. Но не в Windows Vista. : -О

Есть подсказка?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 28 марта 2011

Я нашел это:

Эта строка в верхней части ключевого слова пространства имен на двух сборках была виновником:

[assembly: CLSCompliant(true)]

Я удалил эту строку на обоихсборки и все теперь в порядке.

Привет.

1 голос
/ 28 марта 2011

Вы либо ссылаетесь на HwndHost, либо что-то, что вы добавили, ссылается на HwndHost. Это определено в PresentationFramework.dll.

Вам нужно отследить преступника. Это в вашем SharedExceptions.cs файле. Очевидно, есть хотя бы одно изменение, которое не было полностью восстановлено в этом файле.

(Кстати, это одно из огромных преимуществ использования одного файла на класс ... Я предполагаю, что в этом файле определено МНОГИЕ типы исключений, поэтому вы не видите это сразу.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...