问题标签 [winmd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1484 浏览

visual-studio-2015 - 如何将 WINMD 引用添加到 ControlChannelTrigger

将项目升级到目标 Windows 10 后,Visual Studio 2015 无法解析上述类。根据MSDN 上的文档,我认为我需要添加一个 WINMD,即Windows.Networking.Sockets.ControlChannelTriggerContract.winmd作为对我的项目的引用,我在项目引用中没有看到。我尝试查找它并在文件夹中找到该*.winmd文件Windows Kits\10\...。不幸的是,这是我尝试添加 Visual Studio 时给出的:

添加参考失败

显然,我不知道如何解决这个问题。(我应该有 .NET Framework 4.6。)有人可以帮忙吗?

0 投票
0 回答
256 浏览

c# - 将 Windows.winmd 嵌入到 c# 项目中并作为嵌入式资源加载?

我想在我的桌面应用程序中使用 Windows 操作中心通知,而不是使其成为 Windows 应用商店应用程序,我已经成功地完成了,在我的应用程序中,所有 DLL 都作为资源嵌入,而不是暴露在 exe 之外。我还对代码进行了模糊处理,以便像 jet brains dot peek 这样的程序无法反编译源代码。问题是加载 dll 工作正常,但在程序启动时它会失败并显示“不支持的类型”消息。这是由于混淆和加密。即使我通过禁用所有保护的混淆器运行 exe,它仍然无法运行。所以我的问题是,我如何加载 Windows。winmd 文件作为 DLL 作为嵌入资源包含在项目中(并且将扩展名更改为 DLL 不起作用,因为它返回带有 HRESULT 代码的不同错误)?是否可以使用 DLLImport?我是否应该编写一个不同的 DLL 作为对 Windows.winmd 类的访问层?原始嵌入源项目的参考:http://www.codeproject.com/Articles/528178/Load-DLL-From-Embedded-Resource

0 投票
1 回答
1231 浏览

dll - 如果我仍然需要 .dll 和 .pri 文件,那么使用 .winmd 库有什么意义?

我想使用 winfbsdk(参见此处),它是一个 SDK,用于在 UWP(通用 Windows 应用程序(Windows 10))中使用 Facebook。但似乎.winmd构建的文件不足以使用这个库。我可以执行以下操作之一:

  1. 参考文档中所述的整个项目。

或者

  1. 引用.winmd文件但也复制生成的.DLL+.pri文件。

为什么是这样?

0 投票
1 回答
855 浏览

c# - 从命令行构建 Windows 通用 C# 类库

我目前正在尝试构建面向 Windows Phone 8.1、Windows 应用程序 8.1 和 Windows 10 通用应用程序的 Microsoft 运行时组件 C# 类库。为了完成这个介绍,我的环境运行 Windows 8.1,我使用 Visual Studio 2015 作为 IDE。

为了使流程自动化,在我的团队中,我们需要通过命令行编译该库,以便.winmd在其他地方使用生成的文件。尽管解决方案和项目可以使用 IDE 完美编译,但我们无法通过 windows 命令行编译我们的项目。经过一番调查,我们发现了一个可能有效的命令,但我们收到错误,告诉我们缺少一些参数。命令行是下一个:

清除项目并执行此命令后,我们得到一堆这样的错误:

其他错误,但都来自同一个缺失的命名空间“Windows”,是名称为ApplicationModelDevicesSecurity的命名空间的缺失Networking。此命名空间名称是 Windows RT C# API 的一部分,在执行此命令期间似乎不存在。

正如我所说,看起来我们没有指定实现编译所需的所有参数,或者我们没有正确执行它。使用命令行构建针对通用应用程序的 VS C# 项目类库的正确方法是什么

0 投票
1 回答
190 浏览

windows-runtime - 是否可以在 Windows 运行时组件中读取/写入注册表

我正在开发一个 Windows 8.1 应用程序。

是否可以从 Windows 运行时组件 (.winmd) 读取和写入注册表?

0 投票
1 回答
2167 浏览

c# - Windows 运行时组件中不可能继承?

场景:
我的 Windows 运行时组件项目中有 3 个类(A、B、C)。

在编译上述代码时,我收到以下错误

“不一致的可访问性:基类'A'比类'C'更难访问。”

如果我将 A 类公开,则会出现编译错误

“不支持导出未密封的类型。请将类型 'MyProject.A' 标记为密封。”

但是现在,如果我将 A 设为密封,则 B 和 C 无法继承它。

考虑到仅允许继承 WinRT 类型的事实,是否可以使用自定义/用户定义的类进行继承?如果没有,是否有任何解决方法可以实现相同的效果?

0 投票
1 回答
838 浏览

c# - 无法将“System.__ComObject”类型的对象转换为“Windows.ApplicationModel.Background.ILocationTriggerFactory”

我正在构建简单的 win phone 8.1 应用程序,当用户进入/离开某个区域时,它使用地理围栏 API 和后台任务进行控制。
要注册后台任务,我在类中实现RegisterBackgroundTask方法App

这就是引发异常的部分 new LocationTrigger(LocationTriggerType.Geofence)

异常详情:

到目前为止我已经弄清楚了:

  1. 异常代码为 80004002 (E_NOINTERFACE)
  2. 我调查了这个接口是什么,发现它在其中声明C:\Program Files (x86)\Windows Phone Kits\8.1\References\CommonConfiguration\Neutral\Windows.winmd并且实际上在那里 窗口

    它引用自视觉工作室项目 解决方案参考 参考属性

  3. 其他所有触发器(SystemTrigger、MaintenanceTrigger 等)都可以正常实例化

我已经尝试过的:

  1. 重新安装 VS
  2. 清洁/重建解决方案
  3. 注释RegisterBackgroundTask方法[STAThread]

这是我在 windows phone 和 c# 上的第一个应用程序,所以我可能会在常见的地方犯一些愚蠢的错误。我也不明白 Visual Studio 如何处理来自解决方案的这些引用,以及在引用的 .winmd 文件中编码的接口如何可用于项目中的代码。也许有些地方出了问题。所以我需要帮助来寻找问题的根源并找到解决方案。

先感谢您

0 投票
1 回答
422 浏览

c# - 通用 Windows .NET Native 和 winmd 组件库

.NET Native 工具链如何详细处理托管的 .winmd 组件库?

我知道 .NET Native 将 DLL 中的所有托管代码合并到一个可执行文件中,并在将其编译为本机时删除未使用的代码。

但是 .winmd 托管库使用什么算法?例如,WinRT 中的后台任务(如音频后台任务)托管在 winmd 库中,然后这些任务托管在系统提供的本机进程中,该进程动态调用 winmd 提供的类。它如何与 .NET Native 概念兼容?

我担心 .NET Native 可能无法将托管的 .winmd 代码转换为本机代码,并且环境将回退到 .NET 运行时以在托管的 winmd 中执行代码,因此放弃了本机编译可执行文件的好处。或者它是如何工作的?

请提供关于这个不太清楚的问题的信息。在 MSDN 文档中,没有关于托管 winmd 组件库和 .NET Native 工具链的详细信息。

0 投票
1 回答
1419 浏览

c# - 如何使用等待语法从 Windows.Devices.Enumeration.DeviceInformation.FindAllAsync 读取结果?

我的计算机有一个正常工作的智能卡读卡器,应该由下面的代码片段返回:

但是,我收到此错误:

错误 CS4036“ IAsyncOperation<DeviceInformationCollection>”不包含“”的定义,并且找不到接受“”类型的第一个参数的GetAwaiter扩展方法“ ” (您是否缺少“ ”的 using 指令?)GetAwaiterIAsyncOperation<DeviceInformationCollection>System

代码片段复制自微软的 C# 示例代码

我能做些什么来解决这个错误?

0 投票
0 回答
133 浏览

c# - 多个应用程序可以访问同一个凭证管理器记录吗?

我在 AppOne 中使用以下代码向 Windows 凭据管理器中的 Web 凭据添加凭据。

然后我想在 AppTwo 中访问它。我发现 AppTwo 无法访问我上面保存的记录。我对其进行了测试,似乎只有保存凭据的应用程序才能访问它。我认为这是有道理的。但是有没有办法可以在 AppOne 中保存凭据并在 AppTwo 中获取它?我可以直接使用 C# API 以编程方式通过 Windows 凭据保存而不是保存在凭据管理器中的 Web 凭据中吗?即使我可以将凭据保存到 Windows 凭据中,我是否可以在不同的应用程序之间共享它?

我的第二个问题是,如果 AppOne 1.0 将凭证保存到凭证管理器中,那么 AppOne 升级到 2.0,或者如果 windows 升级win8win10,保存的凭证是否仍然有效且正确?我在网上搜索,但有点迷路了。

谢谢!!