添加.NET Framework DLL作为对Windows应用商店应用的参考

Zyb*_*erb 22 .net c# labview windows-8 windows-store-apps

我正在开发一个Windows应用商店项目,我想从National Instruments DAQ中读取一个简单的温度测量数据.然而,DLL库的数据采集是在.NETFramework 4.0格式时添加此作为参考,以我的Windows商店应用项目中,我得到以下错误:"该项目的目标'.NetFramework’,而文件的参考目标的.NetCore'"

在网上搜索,我发现windows store app必须只使用对另一个.NETCore或Portable Library二进制文件的引用,它不能引用一个完整的.NET 4.0库.我想有很多人有类似的问题,所以我想知道是否有任何走动技巧?

Ian*_*ths 12

如果你坚持使用其他人提供的库,并且试图游说他们生成便携版本不太可能成功,那么你唯一可以做的就是找到其他地方来托管DLL,然后再沟通无论托管它的是什么.例如,对于某些情况,可以编写一个基于ASP.NET Web API的服务,该服务将能够使用完整的.NET Framework,从而能够使用DLL.

显然,这会将另一个问题换成另一个问题:您现在需要一台可以为您运行Web服务的计算机.(不幸的是,我相信微软并没有正式支持在运行Windows应用商店应用的同一台机器上运行该网络应用.你可能能够在你的开发盒上运行它,但你将无法部署Web应用程序本身通过Windows应用商店.)

这里没有简单的路径 - 您必须编写一个层,通过HTTP服务公开您需要的所有内容,并使用客户端代码来使用这些服务.而且您还需要考虑如何保护对服务的访问.

恳求供应商可能更容易......

理论上,如果碰巧该库没有使用核心.NET配置文件之外的任何东西,那么你可以使用ILDASM和ILASM来解编译和重新编译代码,然后将其转换为可移植的库.但是,如果是商业代码,很可能会违反您的许可协议,并且在任何情况下都很可能无法使用.


Jon*_*eet 9

"解决方法"是创建您想要作为可移植库的库版本.这里的所有都是它的.您根本没有可用的完整框架.

将类库转换为可移植类库所涉及的困难在很大程度上取决于库的作用以及它使用的BCL的哪些区域.

  • 感谢您的快速答复!我已经研究了可移植类库,但是在这种情况下,我无法访问该库的完整源代码,而无法访问DLL文件。 (2认同)
  • 这是一个"解决方法",而不仅仅是官方的做事方式? (2认同)