- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我注意到大多数(所有?).winmd 文件都有一个 255.255.255.255 版本,例如:
Windows,Version=255.255.255.255,Culture=neutral,PublicKeyToken=null
Metro 应用程序引用了具有此版本号的此类程序集。
进一步的 Windows.winmd 本身引用:
mscorlib,Version=255.255.255.255,Culture=neutral,PublicKeyToken=b77a5c561934e089
但是,据我所知,不存在具有此版本号的程序集。
这个版本号有什么特殊含义吗?有这方面的文档吗?
最佳答案
ECMA 335 程序集需要有一个版本号。但是 windows 运行时类型解析算法不使用版本号,因此创建 winmd 格式的团队选择了任意版本号 255.255.255.255 作为程序集版本号。
这有助于确保没有人在进行类型解析时尝试使用 .Net 类型解析算法(它并不完美,不幸的是,一些工具仍然使用 .Net 类型解析算法)。
哦,mscorlib 引用是一个形式引用——ECMA 335 要求所有 typeref 都有相应的 assemblyref,WINMD 文件格式选择使用某些 ECMA 335 类型的 typeref 作为特定类型的指示符。例如,winrt“enum”构造表示为扩展“System.Enum”的类型 - 对于 winmd 文件,“System.Enum”部分只是一个字符串(它可能是任何东西),并且无法解析为一个真正的类型。该字符串在元数据中表示为 typeref,typeref 必须具有 assemblyref - 我们选择使用 mscorlib 版本的 System.Enum 作为枚举的 assemblyref,因为它很方便。
关于c# - winmd 文件的版本 255.255.255.255 表示什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10411168/
我正在尝试将我的 Windows Store 应用程序的 ComboBox 控件反编译为 C#,但没有代码。相反,似乎所有属性都是对单独程序集的调用。如何找到真实代码存在的位置,以及如何读取 C# 中
我想在给定路径的 .winmd 文件中输出类型。我将一个 winmd 文件从我的 Windows 8 Developer Preview 机器复制到我的开发机器。我编写了一个小型测试应用程序(使用 C
我在 VS2012 中构建我的 Windows 8 应用程序项目时收到警告: No implementation file was provided for the .winmd file 'C:\U
我有一个 Windows Phone 8 项目和另一个用 C++ 编写的项目;两者都在同一个解决方案中。 C++ 项目是 WP8 项目中使用的动态库,它被配置为在 .dll 文件之上生成 Window
我的 WPF 桌面应用程序也在使用 WinRT 类。 为了做到这一点,我遵循本教程 https://software.intel.com/en-us/articles/using-winrt-apis
我想做什么 我正在尝试创建一个库 (Arduino.dll) 以通过笔记本电脑 (Windows 10) 与我的蓝牙设备进行交互。该库旨在供桌面应用程序使用。为此,我必须引用 Windows.winm
VS 编译器不允许为 WINMD 类型库创建密封的公开类型。 为什么要设置这个限制? (我知道密封类型的优势,我的问题是关于 Win RT 组件)。 最佳答案 这是 COM 强加的架构限制。它位于任何
WinMD 是一个二进制元数据文件,其中包含您需要了解的有关本地 WinRT dll 中可用的命名空间、类型、类、方法和参数的所有内容。 来自 Windows Runtime design : The
我有一个问题,给定一个 .winmd 文件,我们在哪里可以找到真正的实现? .winmd 文件就像头文件或动态库的 .lib 文件一样,它不包含任何实现,我很好奇它的实现在哪里。 谢谢。 最佳答案 D
背景:我需要构建一个 Windows 运行时组件作为设置为使用 CMake 的系统的一部分生成它的构建系统。作为准备步骤,我尝试在命令行上构建它。 从一个基本的 .idl 文件 (MyType.idl
我需要以 azure 工作角色处理视频(修剪、编码等)。我没有找到任何 .net 库。但我在 Windows 套件中找到了 windows.media(winrt - Winows.winmd 文件)
我正在创建一个用于 Windows 8 开发的 winmd 文件。我想拥有出色的 JavaScript (WinJS) 体验,但不知道如何使用原始 JSON 以外的方法,例如,我希望开发人员在 Win
我有一个简单的问题,但到目前为止我还没有找到答案:How to resize jpeg image in C# WinRT/WinMD project and save it as new jpeg?
我需要实现一个包装器来将一些 native C++ 代码公开给 C#,并且遵循了本教程: http://www.silverlightshow.net/items/Windows-Phone-8-Na
我有一个使用引用库的应用程序。该库又引用 .winmd 库。 查看引用库的 IL,我可以看到这个引用: .assembly extern windowsruntime FlurryWin8SDK {
我正在使用 Unity 构建一个所谓的“通用 Windows 8.1”应用程序,并尝试让 Pushwoosh SDK 正常工作。 PushSDK.winmd 和 Newtonsoft.Json.dll
我想在旧式 VBA 用户窗体中嵌入现代 WebView2 组件(Edge Chromium 浏览器控件)。 我想我需要在系统上安装以下软件: Edge Chromium 浏览器 Webview2 SD
.NET Native 工具链如何详细处理托管 .winmd 组件库? 我知道 .NET Native 将 DLL 中的所有托管代码合并到一个可执行文件中,并在将其编译为 native 时删除未使用的
我注意到大多数(所有?).winmd 文件都有一个 255.255.255.255 版本,例如: Windows,Version=255.255.255.255,Culture=neutral,Pub
我想使用 winfbsdk(请参阅 here ),这是一个用于在 UWP(通用 Windows 应用程序 (Windows 10))内使用 Facebook 的 SDK。但似乎构建的 .winmd 文
我是一名优秀的程序员,十分优秀!