VS2010 - PresentationFramework程序集。为什么?

时间:2011-03-28 17:22:09

标签: c# .net winforms visual-studio-2010

=========更新(Reed Copsey)==========

我独自留下了所有其他人的父异常。所有其他文件都在其他文件上。重建后,错误仍保留在同一文件中。这是一个小源代码。我看不到任何需要新装配的东西:

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,文化=中立,   公钥= 31bf3856ad364e35' 。 D:\ MyprojectPath \ SharedExceptions.cs AuxLibraryProject

我不想将 PresentationFramework.dll 添加到项目中,即使我尝试添加它,也需要很多其他程序集。 : - (

我想知道这个装配要求的罪名是什么。我很乐意在源代码上指责一些但我找不到它。

SharedExceptions.cs是已更改的文件之一,但当我(手动)删除所有更改时,错误仍然存​​在。

这个程序集在Windows XP Visual Studio 2010系统上编译得很好。但不是在Windows Vista上。 :-O

有任何线索吗?

感谢。

2 个答案:

答案 0 :(得分:3)

我找到了它:

在两个程序集上的namespace关键字顶部的这一行是罪魁祸首:

[assembly: CLSCompliant(true)]

我已在两个程序集上删除了这一行,现在所有构建都很好。

问候。

答案 1 :(得分:1)

您要么引用HwndHost,要么添加了引用HwndHost的内容。这在PresentationFramework.dll中定义。

你需要追查罪魁祸首。它位于您的SharedExceptions.cs文件中。显然至少有一个变化没有在该文件中完全退出。

(这,顺便说一句,是每个类使用一个文件的一个巨大优势......我猜你在那个文件中定义了很多异常类型,这就是为什么你不会立即看到它。)< / p>