问题标签 [compact-framework2.0]

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 回答
252 浏览

c# - c# opennetcf RegistryHelper.SaveHiveBasedKey

我正在尝试找出从 Windows Mobile 6.1 设备上备份整个注册表的最佳方法。我发现 OPENNETCF RegistryHelper 类据说可以保存基于蜂巢的密钥?

有人可以先帮我弄清楚这是否是最好的方法吗?

以下是我尝试使用并不断收到错误“无法生成注册表文件”的代码

异常详情:

0 投票
1 回答
130 浏览

c# - 发生服务器错误 503 后无法进行 http 连接

我构建了一个 windows-mobile 6.5 应用程序(基于 cf 2.0)并且对一种方法的特殊测试用例有问题。所以我希望有人能给我一个建议或有一个有用的想法,这种行为的原因是什么......

该方法每 30 秒从线程内部连续调用一次,查找要通过 HTTP 请求传输到 Web 服务器 (jboss) 的文件,然后将它们带上。服务器 url 本身在我的控制之下。

一切正常……直到我停止 Web 服务器并强制出现 503 服务器错误。到目前为止,一切都很好。但是在重新启动 Web 服务器后,我希望下一次调用 transfer 方法将成功结束 - 但事实并非如此。每次进一步的尝试都会以超时异常结束,我必须重新启动应用程序以使其再次工作。

所以我的问题是:问题出在哪里,当我想在之前的尝试失败并出现错误 503 后连接到 uri 时?似乎,有一些东西被缓存了,但它到底应该是什么?

非常感谢您的每一个提示。

于尔根

0 投票
1 回答
9454 浏览

compact-framework - 如何确定我的设备上安装的 Compact Framework 的版本?

看起来可以解决我最近在尝试整理各种设备上不同版本的 CF 以便它们都可以运行我的 CE/CF 应用程序时的手忙脚乱和头疼的问题。这些扭动可以在这里这里阅读。

该链接显示了一种为旧版本的 CF 构建的应用程序在安装了新版本的设备上运行的方法。但它说:

“要确定 Pocket PC 上当前安装的版本,请使用文件资源管理器导航到 \Windows 目录并点击 cgacutil 文件。将出现一个消息框,其中包含设备上安装的 .NET Compact Framework 版本。”

但是,Windows 资源管理器(我的 Motorola 3190 设备上没有“文件资源管理器”)在 Windows 文件夹中没有显示“cgacutil”。文件夹的文件居民从“ceconfig”变为“charset”,它们之间没有“cg*”。

上面链接的 URL 还说:

“将应用程序设置为在 3.5 版上运行 确定设备上运行的 .NET Compact Framework 的版本号。”

我怎样才能确定呢?一旦我知道了,我应该可以在手持设备中添加一个名为 [appName].exe.config 的文件,其中所有数据都将是彩虹炖菜/大冰糖山:

但是“v3.5.7000”实际上应该是什么?我需要知道如何确定该版本值。

在系统属性中,我可以看到一些操作系统信息,但看不到 CF 版本。例如,我看到:

微软视窗 CE 版本 6.00

更新

四处寻找,我注意到设备上有一个名为“Microsoft .NET CF 2.0.LOG.TXT”的文件

文件名表示安装的 CF 版本 IS 2.0

因此,由于在其他设备上运行的 .exe 似乎是 CF 1,我可以将其用作 [appName].exe.config 文件的内容(文件中的内容更具体地说明版本号):

那会有帮助吗?

更新 2

文件“Microsoft .NET CF 2.0.LOG 文件包含一些有趣的信息:

所以新设备同时安装了 2.0.7045.0 和 3.5.7283.0 版本。

根据运行Windows\cgacutil.exe时显示的内容,旧设备已安装1.0.3316.00。

有问题的项目将框架版本设置为“v2.0”

旧设备在旧设备上运行,但不在新设备上运行......???

新版本的源代码都不会在任何一个上运行。由于它针对的是框架版本 2.0,我现在明白为什么新版本无法在旧设备上运行。但为什么不在新的呢?它安装了 CF 2,对应于项目所针对的框架版本...

更新 3

我将文件 [appName].exe.config 复制到手持设备,与 .exe 位于同一文件夹中

这是较新的(摩托罗拉 3190)设备,据说安装了 CF 版本 2.* 和 3.5*。

尝试运行旧版(据说是为 CF 1.0* 构建的)exe 确实与那里的 exe.config 文件表现不同。我得到的不是永恒的沙漏,而是:

所以它告诉我联系自己,这没有多大用处。

为什么文本文件显示我安装了 v2.0.7045.00,而这表明我没有安装它?

更新 4

文本文件指示版本 2.* 已安装在设备上,但尝试在那里运行最新版本(其中“v2.0”作为“框架版本”属性)无法运行,这对我来说真的很可怕/令人沮丧。没有 bla.exe.config 文件的沙漏,与上面的错误消息一起失败......?!?

更新 5

我还将应用程序的最新版本(针对框架版本 2)复制到旧设备(安装了框架 1 的设备)。我在那里添加了一个 [appName].exe.config 和 .exe,其中包含以下内容:

...但是尝试运行 .exe 只会导致短暂的沙漏 - 没有错误消息,但也没有快乐。

更新 6

进一步试验,我采用了相反问题的项目(框架版本是 v3.5,可以在较新的设备上运行,但不能在较旧的设备上运行),并编辑了它的 .csproj 文件,<TargetFrameworkVersion>从“v3.5”()到“v2.0”(我首先尝试将其更改为“v1.0”,但收到错误消息:“此项目需要.NET Compact Framework v1.0,未安装在此机器上。 ”所以将其更改为“ v1.0”到“v2.0”

但是,这并没有帮助-该构建也无法在(较旧的)手持设备上运行...

不过,错误消息告诉我,我以前从未需要创建框架版本 1.0 构建,因为我的开发机器上什至没有它(但我之前构建了确实在两者上都运行的旧应用程序的版本设备)。因此,设备本身似乎被“弄乱了”(Compact Framework 的新版本已被旧版本取代)。

更新 7

注意:在通过 .csproj 文件将框架版本从“v3.5”更改为“v2.0”后,在较新设备上运行的小型 .exe/实用程序仍然有效

更新 8

为了进一步澄清(混淆?)发生了什么:

3090 Symbol 手持设备已安装 CF 版本 1.0.3316.00(根据 Windows\cgacutil.exe)

3190 摩托罗拉手持设备没有 Windows\cgacutil.exe,但有一个文件指示其上安装了 Compact Framework 的“2.0.7045.00”和“3.5.7338.00”两个版本

由已故开发人员在现已失效的机器上构建的最后一个 exe 仅在 3090 上运行。它以 CF 框架 1 为目标,大概是(因为它在安装了该版本 CF 的设备上运行)

情况很奇怪,因为在他离开之前,我们通过 TFS 共享代码,我能够在设备上运行组合代码的结果 (.exe),他也是。

来自我的源代码的最新构建编译/构建,但既不在 3090 也不在 3190 上运行。它针对 CF 框架版本 2.0

我构建的一个简约实用程序仅在 3190 上运行。它针对 CF 框架版本 2.0

这一切是否给任何人一个线索?

更新 9

在下面 IowaEric 的回答中引用的这个站点上,它说:“.NET Compact Framework 在每个设备上安装了一个名为 cgacutil.exe 的实用程序。”

我在一台设备上看到了该文件 (cgacutil.exe),但在另一台设备上却没有。

上面的链接还说,“在 Pocket PC 或 Smartphone 设备上,您可以使用文件资源管理器”

...但我也没有看到“文件资源管理器”应用程序[let];我有 Windows 资源管理器...???

更新 10

啊哈!如该链接中所述,转到开始>运行...> cgacutil确实有效。它告诉我“... [3.5.7283.0, 2.0.7045.0]”

(在 3190 上;在 3090 上显示“1.0.3316.00”)

更新 11

所以这就是我能够确定设备上的内容:

0 投票
4 回答
2298 浏览

windows-ce - .Net Compact Framework 2.0 可以安装在 Windows Embeded Handheld 6.5 Classic 终端上吗?

我有一个客户的文件要安装在 Unitech PA986-II 终端(CPU Marvel PXA320)上,但由于不存在 .Net 2.0,因此某些软件包无法安装。到目前为止,我一直找不到可以安装的版本。

关于信息说它正在运行 CE OS 5.2.23152 Build 23152.5.3.12。cgccutil 报告已安装 .NET Compact Framework 3.5.9198.0。

我已经尝试过 NETCFv2.wce5.armv4i.cab 但在安装开始后但在它要求位置之前失败。

0 投票
1 回答
676 浏览

c# - 在设备上调试 Windows CE 5.0 应用程序失败

我正在开发一个在远程设备上运行的应用程序(我猜它是一个 ARM 处理器)远程设备运行 Windows CE 5.0,该应用程序是使用 C# 和 .NET Compact Framework 2.0 创建的。我可以使用“在不调试的情况下启动”菜单选项(调试或发布模式)让应用程序从 Visual Studio 2008 运行,但是在使用“开始调试”菜单选项时应用程序无法运行(在 VS 中显示对话框) . Visual Studio 中给出的错误指出:“无法启动程序”“远程计算机没有与远程调试组件兼容的 CLR 版本”

我已经安装了“.NET Compact Framework 2.0 Service Pack 2 Redistributable”,但我想知道 Redistributable 包是否只包含框架的发布版本,这是否会导致错误?然而; 我似乎找不到“.NET Compact Framework 2.0 SDK”

任何评论都将受到重视!

IDE:Visual Studio 2008 设备:摩托罗拉 MT2070 扫描仪

问候约翰

0 投票
1 回答
1109 浏览

c# - 在 .net Compact framework 2.0 到 VS2005 中将 Int[] 数组转换为字符串并将字符串转换为 int[] 的最佳方法

我有一个看起来像的整数数组

我想把它转换成一个字符串

反之亦然 .net Compact 框架 2.0。

我尝试使用 string.join 和 Array.convertAll 将 int 数组转换为字符串。但它不适用于 .Net Compact Framework 2.0。

在 .net Compact 框架 2.0 中执行此操作的最佳和最快方法是什么?

0 投票
1 回答
392 浏览

c# - 如何使用 C# 代码在 windows ce 中播放视频

如何使用 C# 代码在 windows ce 中
播放视频 大家好,我正在使用 Visual Studio 2005 C# 在符号设备上开发新的 poket PC 应用程序,我需要用我的应用程序播放视频我该怎么做,
请任何人帮我。

0 投票
0 回答
28 浏览

compact-framework - 如果表单被禁用,.net cf 控件上不需要的灰色边框

我正在尝试实现一个非阻塞消息框,我所做的是调用另一个表单的 show 方法并禁用主表单。但是,我注意到当我禁用主表单时,表单上有灰色框。我目前正在使用 .net cf 2.0。有没有办法避免这种情况?

showdialog 工作正常,但我看不到灰线,这是一种阻塞方法。

0 投票
1 回答
220 浏览

c# - Windows CE 项目中的“缺少编译器所需的成员”

我正在尝试构建从我们公司的 SVN 服务器下载的解决方案。但是我收到一个奇怪的错误:“缺少编译器所需的成员'System.Runtime.CompilerServices.UnsafeValueTypeAttribute..ctor'”。导致错误的项目是 DLL 项目。

解决方案中的所有项目都针对 .NET CF 2.0 进行编译。我的IDE是VS2008。

奇怪的是,公司中的其他开发人员可以轻松编译解决方案而没有任何问题。

我想出的是项目中有一个无法编译的类。它有一个被定义为“静态不安全”的构造函数。此类中的许多方法也被定义为不安全的。

你们中有人对如何解决这个问题有任何想法吗?

先感谢您。

0 投票
1 回答
43 浏览

windows-ce - 如何在 Windows ce 5.0 中序列化/反序列化数据

我正在为运行 Windows CE 5.0 的条码阅读器 CHD FIVE 创建一个程序。我有一个包含带有项目条码(大约 94000 行)的 csv 表输出的文件。它的大小为 8MB。我可以在每次程序启动时浏览该文件,但这很长。也许如果我要序列化数据并在反序列化后得到一个数据表。我可以通过什么方式做到这一点?或任何其他需要快速访问和离线搜索此类表格的想法。我已经寻找解决方案打赌没有找到任何东西。