Ada*_*son 4 .net windows-runtime
想象一下,您有一个复杂的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>
Run Code Online (Sandbox Code Playgroud)
接下来,找到<ItemGroup>包含引用的内容并添加以下内容:
<Reference Include="{Namespace}">
<HintPath>{Path to WinMD file}</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)
虽然我无法保证这样做不会产生任何问题,并且鉴于Microsoft已经非常清楚无论您使用CLR的哪个Framework Profile加载相同的程序集,我强烈怀疑这不会导致任何问题.危害.
关于类库的说明.如果将WinMD包含在非Metro类库中,然后在非Metro应用程序中引用该库; 您将无法访问类库中公开的任何自定义WinRT类型,而无需在应用程序中引用WinMD文件或提供包装类型.
| 归档时间: |
|
| 查看次数: |
1680 次 |
| 最近记录: |