.net – 在非Metro应用程序中使用自定义Windows运行时组件
想象一下,您有一个复杂的WinRT代码框架,您希望从C Metro Apps和C#Desktop Apps访问这些代码.
有没有办法在非Metro应用程序中包含WinMD? 解决方法
更新:这仅适用于
Windows 8.Microsoft在Windows 8.1中禁用了此功能.
就在这里.尝试通过引用管理器添加它们时的块似乎是在Visual Studio本身内部实现的.添加后,Visual Studio会将引用的文件视为任何其他WinMD文件. 注意:此解决方案不受MICROSOFT支持! 要将自定义WinMD文件添加到任何非Metro应用程序,必须首先确保您的目标是.NET 4.5.这不适用于任何以前版本的.NET Framework. 一旦定位.NET 4.5,卸载项目文件并打开它进行编辑.然后,在最后一个< PropertyGroup>之后添加以下代码在项目文件中: <PropertyGroup> <TargetPlatformVersion>8.0</TargetPlatformVersion> </PropertyGroup> 接下来,找到< ItemGroup>包含您的引用并添加以下内容: <Reference Include="{Namespace}"> <HintPath>{Path to WinMD file}</HintPath> </Reference> 虽然我无法保证这样做不会产生任何问题,并且鉴于Microsoft已经非常清楚无论您使用CLR的哪个Framework Profile加载相同的程序集,我强烈怀疑这不会导致任何问题.危害. 关于类库的说明.如果将WinMD包含在非Metro类库中,然后在非Metro应用程序中引用该库;您将无法访问类库中公开的任何自定义WinRT类型,而无需在应用程序中引用WinMD文件或提供包装类型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在windows平台下采用electron-packager打包electron程序为.
- 如何完全卸载Red Gate的.NET Reflector?
- 使用Clojure连接到Microsoft SQL Server
- 访问PowerShell脚本中的Windows任务凭据
- windows-phone-7 – 新的Windows 7手机平台是否使用Silverl
- 在Windows Shell中将包含*(星号)字符的字符串作为命令行参数
- windows – 操作系统崩溃的常见原因
- 在Windows Azure中扩展以获得IO性能
- 如何在Windows窗体应用程序中使用C#.NET正确实现MVC
- windows – “此程序可能没有正确安装”