首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“您必须添加对程序集PresentationFramework的引用”--但是为什么呢?

“您必须添加对程序集PresentationFramework的引用”--但是为什么呢?
EN

Stack Overflow用户
提问于 2011-03-28 17:22:09
回答 2查看 5.1K关注 0票数 1

我真的是c#和VS2010的新手。*-\

我有一个“纯”Winforms应用程序。或者至少我认为是这样。

但是突然之间(最后一次修改源代码),我在构建辅助DLL时出现了这个错误:

误差7

类型'System.Windows.Interop.HwndHost‘是在未引用的程序集中定义的。必须添加对程序集'PresentationFramework,Version=3.0.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35‘的引用。D:\MyprojectPath\SharedExceptions.cs AuxLibraryProject

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

我想知道这个集会要求的罪名在哪里。我很乐意把一些代码归咎于我的源代码,但我找不到它。

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

此程序集在2010系统上编译良好。但在Windows上不行。

更新:

我把父母的例外留给了所有其他人。所有其他文件都在其他文件上。重新生成后,错误将保留在同一个文件上。这是小的源代码。我看不到任何需要新程序集的东西:

代码语言:javascript
运行
复制
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) { }
        }
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-28 19:15:16

我找到它了:

两个程序集的命名空间关键字顶部的这一行是罪魁祸首:

代码语言:javascript
运行
复制
[assembly: CLSCompliant(true)]

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

欢迎光临。

票数 3
EN

Stack Overflow用户

发布于 2011-03-28 17:28:50

您不是在引用HwndHost,就是在引用HwndHost。这是在PresentationFramework.dll中定义的。

你得找出凶手。它在您的SharedExceptions.cs文件中。显然,至少有一个更改没有在该文件中完全退出。

(顺便说一句,这是每个类使用一个文件的一个巨大优势.我猜您在该文件中定义了许多异常类型,这就是为什么您不能立即看到这种异常类型的原因。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5462651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档