【问题标题】:How to reference compact framework 3.9 class library in the full framework 3.5 class library完整框架3.5类库中如何引用紧凑框架3.9类库
【发布时间】:2017-08-30 08:45:40
【问题描述】:

我有一个面向 .NET Compact Framework 3.9 的类库,我有一个面向 .NET Framework 3.5 的类库。现在,当我在 .NET 3.5 库中添加对 .NET CF 3.9 库的引用时,CF 库中的所有类型都未解析,我无法使用它们。有没有办法让它工作?

【问题讨论】:

    标签: .net compact-framework


    【解决方案1】:

    很遗憾,没有。您唯一的“解决方案”是创建两个单独的项目,一个用于完整框架,一个用于 CF。如果将项目文件放在同一文件夹中并手动编辑项目文件以包含 *.cs,则至少可以让它们始终包含相同的源文件,但没有二进制兼容性或加载 CF 程序集的方法完整的框架。

    【讨论】:

    • 其实我已经解决了这个问题,但也许你误解了这个问题——我在 CF 3.9(类库)中有一个项目,我在 .NET 3.5 中有一个项目(甚至 4.5 也可以),我参考.NET 项目中的 CF 项目。实际上,一切正常,这是 Resharper 的问题,它无法解决引用的程序集。无论如何,感谢您的意见,因为很难找到可以回答一些关于 CF 的问题的人
    • 所以你有一个完整的框架程序集引用了一个 CF 程序集,当它被部署时,它真的有效吗?这将是罕见的(尽管并非不可能)。主要问题是 CF 编译器不知道也不关心全框架的东西。如果您进行的任何调用都需要调用 coredll.dll,CF 编译器会将其放入您的程序集中(或者更具体地说,拉入对另一个 CF 程序集的引用),并且在运行时您将获得 TypeLoadException。它只会在运行时发生,而不是在编译时发生,所以要非常小心。
    猜你喜欢
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多