【问题标题】:"You must add a reference to assembly PresentationFramework" -- but why?“您必须添加对程序集 PresentationFramework 的引用”——但为什么呢?
【发布时间】:2011-03-28 17:22:09
【问题描述】:

我真的是 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 上。


更新:

我为所有其他人单独留下了父异常。所有其他都在其他文件上。重建后,错误仍然存​​在于同一文件中。这是小源代码。我看不到任何需要新程序集的东西:

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) { }
        }
    }

【问题讨论】:

  • 您是否添加了对该项目的任何其他引用?
  • 我必须记住这在 Windows XP 上编译得很好。具有相同的颠覆树更新。它只在 Windows Vista 上失败。我正在尝试从同事那里检查另一个 Windows XP 工作站上的另一个更新。

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


【解决方案1】:

我找到了:

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

[assembly: CLSCompliant(true)]

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

您好。

【讨论】:

    【解决方案2】:

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

    您需要找到罪魁祸首。它在您的SharedExceptions.cs 文件中。显然,该文件中至少有一项更改没有被完全撤销。

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

    【讨论】:

    • 是的,所有例外都在那个 .cs 文件中。 :-( 但是里面只有五个例外,所以我可以分成几个文件,即使只是为了找到罪魁祸首。我会这样做并返回结果,所以也许我可以更具体地找到它。
    猜你喜欢
    • 2012-03-31
    • 2018-09-30
    • 1970-01-01
    • 2016-09-24
    • 2022-09-29
    • 1970-01-01
    • 2019-11-26
    • 2022-06-11
    • 1970-01-01
    相关资源
    最近更新 更多