小编Gen*_*ene的帖子

在Windows 8 Pro上加载应用程序

我目前正在公司环境中使用Windows 8应用程序的侧载.我们的客户很可能会在基于x86的平板电脑上运行Windows 8 Pro.只要在目标设备上注册了开发人员帐户,使用PowerShell部署应用程序(相当)就可以正常工作.如果不是,则在应用程序启动时会发生以下错误:

这个程序无法打开

~AppName~有问题.有关修复或重新安装,请与系统管理员联系.

我们的CA的根证书安装在设备上,并且正确设置了允许所有可信应用程序安装组策略设置.该设备位于(实验)域中.在Windows 8企业版上,它实际上就像一个魅力.

关于TechNet上的这篇文章,对于除Enterprise之外的任何其他Windows版本的侧载,需要"sideloading产品激活密钥".我搜索了关于这样一个密钥的更多信息,但我没有找到任何东西.

所以我的问题是:什么是"侧载产品激活密钥",谁生成它以及如何激活/输入它?或者这句话是否意味着我们需要选择Windows 8企业版?

deployment windows-8 sideloading

14
推荐指数
2
解决办法
2万
查看次数

从T-SQL中的点创建地理多边形

在Azure上的SQL Server(2008 R2)中,有一个包含大量地理Points(纬度/经度)的表:

CREATE TABLE MyPoints
(
  Region uniqueidentifier NOT NULL,
  Number int NOT NULL,
  Position geography NOT NULL,
  CONSTRAINT PK_MyPoints PRIMARY KEY(Region, Number)
)
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个Polygon从这一点来确定,我的哪些商店位于由点定义的区域.

是否有一种原生的快速方法从T-SQL中的给定点构建多边形?我找到的解决方案是使用STGeomFromText/ STGeomFomWKB方法创建一个多边形,这对我来说似乎非常麻烦和缓慢.

就像是:

SET @POLY = geometry::STPolyFromPoints(SELECT Position FROM MyPoints)
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server geography sql-server-2008-r2

8
推荐指数
2
解决办法
2万
查看次数

开发Windows Embedded Compact 2013的应用程序

今天我在微软的下载中心偶然发现了CE 2013Application Builder.截至描述,使用此包我应该能够develop apps that target Windows Embedded Compact 2013使用Visual Studio 2012.

下载并安装Application Builder后,我发现了新的框架程序集C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsEmbeddedCompact\v3.9,但是在Visual Studio 2012中没有针对Embedded Compact 2013的项目模板.

我试图创建一个空白的WinForms或WPF项目并将其重新定位到3.9,但这似乎也不可能.没有可以安装的在线模板.

如何使用Visual Studio 2012创建CF 3.9应用程序?

compact-framework windows-ce windows-embedded-compact visual-studio-2012

8
推荐指数
1
解决办法
1万
查看次数

应用程序修剪时将整个程序集标记为动态访问

借助 .NET 5,我们可以修剪我们的项目以减少其占用空间。如果我们知道我们将Type通过反射访问,我们可以将其标记为动态访问:

public void DoSomethingReflective<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>();
Run Code Online (Sandbox Code Playgroud)

但是还有一种方法可以将整个程序集标记为动态访问吗?

public void DoSomethingReflective(Assembly assembly);
Run Code Online (Sandbox Code Playgroud)

.net c# reflection msbuild

7
推荐指数
1
解决办法
1447
查看次数

从自定义shell运行metro应用程序

我想为Windows 8 Embedded Standard(Release Preview)创建一个自定义shell(WinForms),允许用户运行,安装或更新应用程序(可以是桌面和/或城域应用程序).

因此,我explorer.exe在注册表中替换了自定义shell的路径,这非常有效.当我尝试使用IApplicationActivationManager运行metro风格的应用程序时(请参阅此处的实现细节),我收到以下错误消息:

应用程序管理器需要激活应用程序,但未运行.(HRESULT异常:0x80270257)

事件日志不包含任何其他信息(既不在Application也不在内TWinUI).

Metro风格的应用程序在explorer.exe用作shell 时运行良好.我还没有找到一个流程或服务,我可以简单地开始允许执行metro应用程序(我试图运行WWAHost.exe,但这失败并显示错误消息The system cannot execute the specified program.).explorer.exe手动启动不会改变任何东西.

windows-shell microsoft-metro windows-embedded-8

5
推荐指数
1
解决办法
1219
查看次数

确定GDI句柄和USER对象的数量

我们为Windows窗体UI渲染引擎开发了一个小型测试套件,可以在自动运行测试用例的同时测量性能并检测内存泄漏.现在我们也想检查手柄泄漏.在桌面平台上,我们可以使用以下代码:

[DllImport("User32")]
private extern static int GetGuiResources(IntPtr hProcess, int uiFlags);

using (var process = Process.GetCurrentProcess())
{
  var gdiHandles = GetGuiResources(process.Handle, 0);
  var userHandles = GetGuiResources(process.Handle, 1);
}
Run Code Online (Sandbox Code Playgroud)

此方法似乎在Windows Mobile中不可用.是否有另一种方法可以在Windows Mobile/CE上以编程方式确定这些值?

c# compact-framework gdi windows-mobile handle-leak

5
推荐指数
1
解决办法
4693
查看次数

仅.appxupload中缺少系统程序集

我们正在开发要通过Windows Store for Business发布的UWP LOB应用程序(构建目标> = 1607)。UWP应用程序参考:

该应用程序将以调试和发布(通过.NET本机编译)模式在本地编译和运行。将上载到.appxuploadWindows应用商店时,生成的应用程序将引发异常:

System.IO.FileNotFoundException:无法加载文件或程序集“ System.Private.Reflection.Extensibility,版本= 4.0.0.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。文件名称:Internal.Reflection.Extensions.NonPortable.PropertyPolicies.GetInheritedMemberInfo(PropertyInfo底层MemberInfo,类型为反射类型)位于System.Private.Reflection.Extensibility,版本= 4.0.0.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a。 System.Collections.Generic.LowLevelList1.InsertRange(Int32 index,IEnumerable`1 collection)处的Extensions.NonPortable.MemberEnumerator.d__11.MoveNext()在System.Reflection.TypeExtensions.GetMembers(Int32 index,IEnumerable`1 collection)(Type type,Object nameFilterOrAnyName,BindingFlags bindingAttr) 。反射。

.appxbundle从中提取.appxupload并通过PowerShell将包侧载时,我可以重现此问题。请注意,.NET程序集.appxbundle内的.appxupload,因此未编译为.NET本机。

我认为Windows应用商店应该执行此任务,但实际上不执行此任务(如您从上面的堆栈跟踪中所看到的)-也许是由于事实,我们在UWP应用中使用了Desktop Bridge功能。

在搜索时System.Private.Reflection.Extensibility.dll,似乎该程序集与.NET Native和构建链相关(因为.NET Native nuget包和MSBuild随附)。

所以我的问题是:为什么应用程序无法加载程序集(但不是在调试/发布模式下)?是否System.Reflection.TypeExtensions希望该应用程序使用可在本地实际运行的.NET Native进行编译?

我试过了:

  • 上载.appxbundle使用.NET Native编译的文件(商店不接受)
  • 引用该Microsoft.NETCore.UniversalWindowsPlatform软件包的不同版本 (包括.NET Native软件包)
  • 手动引用私有库(由于重复的程序集引用而导致编译器错误)
  • 升级System.Reflection.TypeExtensions到4.4
  • 创建了一个.wapproj用于部署的包装器(问题保持不变)
  • 添加了绑定重定向,这会导致应用崩溃

c# nuget .net-native uwp .net-standard

5
推荐指数
1
解决办法
323
查看次数

确定Windows Mobile/CE设备的型号和制造商

我们在几台设备(摩托罗拉,霍尼韦尔等)上运行我们用于Windows Mobile/CE的通用移动应用程序,并希望自动检测我们正在运行的设备.目前,我们需要配置要使用的设备服务(例如,用于扫描),但我们希望自动化该过程.

是否有可靠的方法来确定Windows Mobile/CE上的设备制造商和型号(例如"Motorola MC3190"或"Honeywell Dolphin 6100")?

我们已经尝试过的:

  • 获取OEM信息SystemParametersInfo(在某些设备上抛出异常)
  • 看看OpenNETCF API(似乎也使用SystemParametersInfo它)

我不想通过分析序列号,文件系统布局或CPU来猜测设备类型.

compact-framework windows-mobile windows-ce

4
推荐指数
1
解决办法
1884
查看次数

AuthenticationToken为null

我目前正在为Windows 8消费者预览编写一个C#metro app,它从基于REST的Web服务中获取一些数据.我希望应用程序使用当前用户的Windows Live帐户对服务进行身份验证.因此,我将Windows Live SDK添加到我的解决方案中,并将文档中的以下代码段粘贴到我的登录视图中:

LiveAuthClient liveClient = new LiveAuthClient();                
LiveLoginResult loginResult = await liveClient.Login(new string[] { "wl.signin" });
Run Code Online (Sandbox Code Playgroud)

登录调用成功后,我想将加密AuthenticationTokenLiveConnectSessionvia SSL传递给我的webservice,它应该解密令牌并读取它感兴趣的信息(这就是文档对这种SSO场景的建议).但遗憾的AuthenticationToken是,会议的财产总是如此null.我在这里错过了什么吗?

c# live single-sign-on microsoft-metro windows-8

3
推荐指数
1
解决办法
1829
查看次数