c# - 添加 .NET Framework DLL 作为对 Windows 应用商店应用程序的引用

标签 c# .net windows-8 windows-store-apps labview

我正在开发一个 Windows 应用商店应用程序项目,我想在其中从 National Instruments DAQ 读取简单的温度测量数据。但是,DAQ 的 DLL 库采用 .NETFramework 4.0 格式,当将其添加为对我的 Windows 应用商店应用程序项目的引用时,出现以下错误:“项目目标为‘.NetFramework’,而文件引用目标为‘.NetCore '"

在网上搜索,我发现 Windows 应用商店应用程序必须使用对另一个 .NETCore 或可移植库二进制文件的引用,它不能引用完整的 .NET 4.0 库。估计有很多人有类似的问题,不知道有没有什么绕过的技巧?

最佳答案

如果您坚持使用其他人提供的库,并且尝试游说他们制作可移植版本的尝试不太可能成功,那么您唯一能做的就是找到其他地方来托管 DLL,然后与托管它的任何东西进行通信。例如,对于某些场景,可以编写一个基于 ASP.NET Web API 的服务,该服务将能够使用完整的 .NET Framework,从而能够使用 DLL。

显然,这是一个问题,另一个问题:您现在需要一台可以为您运行 Web 服务的机器。 (不幸的是,我相信 Microsoft 不正式支持在运行 Windows 应用商店应用程序的同一台机器上运行该 Web 应用程序。您可以让它在您的开发箱上运行,但您将无法部署Web 应用程序本身通过 Windows 应用商店。)

这里没有简单的路径 - 您必须编写一个层来公开您通过 HTTP 服务所需的一切,以及使用这些服务的客户端代码。您还需要考虑如何确保对服务的访问安全。

向您的供应商求情可能更容易...

理论上,如果碰巧库没有使用核心 .NET 配置文件之外的任何内容,那么您可以使用 ILDASM 和 ILASM 反编译和重新编译代码,将其转换为可移植库在这样做之前。但是,如果它是商业代码,这很可能会违反您的许可协议(protocol),并且在任何情况下都很可能无法正常工作。

关于c# - 添加 .NET Framework DLL 作为对 Windows 应用商店应用程序的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14708921/

相关文章:

c# - 互动倒计时增加?

c# - .NET WebSockets 强行关闭,尽管连接保持事件状态

c# - 反序列化单个对象

c# - 通用 Find 方法,用于按 Guid 类型搜索实现 IDbSet 接口(interface)的类

c# - 删除并重新创建 Windows Azure 存储表的正确方法 = 错误 409 冲突 - 代码 : TableBeingDeleted

c# - 为什么使用 SomethingCollection 而不是 Collection<Something>?

c# - 将文件从 PC 复制到 Windows Mobile 设备的好方法是什么?

c# - WinRT/WP8 等效于 System.Globalization.TextInfo.ToTitleCase

c# - 如何将 xaml flipview 限制为仅在一个方向上翻转?

.net - System.Transactions.Diagnostics.DiagnosticTrace 抛出 TypeInitializationException