我能够将最新的android源代码下载到32位的Ubuntu虚拟机中(主机:Windows 7 64位).构建完成没有任何错误.
然后我尝试按照这些说明进行操作,其中提到我应该在源代码的根目录上运行模拟器.但是,当我尝试这个时,我收到一条错误,指出找不到此命令.
所以我去了文件夹out/host/linux-x86/bin,我发现有几个文件emulator*:
emulatoremulator-armemulator_rendereremulator-uiemulator-x86当我键入emulator和emulator-x86在这里时,它也不起作用.这是我得到的错误:
xxxx/out/host/linux-x86/bin$ ./emulator-x86
emulator: ERROR: You did not specify a virtual device name, and the system
directory could not be found.
If you are an Android SDK user, please use '@<name>' or '-avd <name>'
to start a given virtual device (see -help-avd for details).
Otherwise, follow the instructions in -help-disk-images to start the emulator
Run Code Online (Sandbox Code Playgroud)
所以当我跑步时./emulator-x86 -help-disk-images,我看到以下内容:
If you …Run Code Online (Sandbox Code Playgroud) 我们有一个myapp.exe用.NET 2.0 Framework(VS2005)构建的C#DLL(让我们称它),我们发现我们的应用程序不适用于只安装了.NET 4.0或更高版本的机器.为了让我们的应用程序在.NET 4.0上运行,我myapp.exe.config通过以下文章添加了以下几行:安装.NET Framework V4.0和运行.NET 2.0/3.0/3.5/3.5Sp1应用程序
<startup>
<supportedRuntime version="v4.0.30319"/>
</startup>
Run Code Online (Sandbox Code Playgroud)
它正在发挥作用.
然后我看到这篇文章还提到了以下内容(特别是第二段):
现在,我知道您不能只使用3.5 Service Pack 1应用程序并在V4.0 CLR上运行它.它需要V2.0 CLR或使用标记进行重新配置,以便使应用程序在V4.0 CLR上运行,并且弯曲可能是您不想做的事情.
我没有意识到的是,安装.NET 4.0不会安装2.0/3.0/3.5/3.5Sp1应用程序所需的位.它只会安装V4.0 CLR和V4.0程序集,而不是另外安装相当于.NET Framework V3.5 Sp1的程序.因此,您需要自己安装(例如).NET Framework V3.5 Sp1和.NET 4.0
从我的测试来看,这意味着我可以在.NET 4.0上使用.NET 4.0框架(4.0汇编/库)运行我的2.0 C#应用程序,这与文章所说的相矛盾.
或者我在这里遗漏了什么?如果有人能澄清这一点可能会有所帮助.微软并没有真正明确这一点.
基本上我们的iOS应用程序需要与具有自签名证书的服务器进行通信.在我的应用程序中,https使用不受信任的服务器证书失败,这是可以理解的.错误是这样的:
错误域= NSURLErrorDomain代码= -1202"此服务器的证书无效.您可能正在连接到假装是"我的主机名"的服务器,这可能会使您的机密信息面临风险.
因此,我通过电子邮件将自签名证书发送到iOS设备并导入到配置文件中,并希望它将作为根CA的一部分用于https身份验证.令我惊讶的是,它不是,我仍然得到同样的错误.我认为iOS默认使用钥匙串上的根CA来验证服务器证书,从我读到的,配置文件中导入的证书也是钥匙串.所以我无法理解为什么导入的自签名证书不用作根CA.
在这一点上,我真的不想通过这样的编码来信任这个自签名证书,例如iOS使用自签名证书验证HTTPS,或者在iOS中,如何使用https在服务器上使用自签名证书连接到服务器?因为这不适用于他们将在我们的网络上安装我们的服务器的客户案例,他们可以创建自己的自签名证书.
不知怎的,我从搜索中得到的信息并不多.任何人都可以在这里发光,我需要做些什么来调试这个?非常感谢.
7月15日更新:
更多关于此更新.我还尝试使用配置文件将自签名CA添加到iOS设备上的根CA,方法是在iOS上添加受信任的根证书颁发机构,从我在6.0 iPad和iPhone上测试,它也不起作用.所以不确定这是否仅适用于监狱破坏的设备.最后,我最终允许用户将自签名证书导入应用程序.该应用程序将加载此类导入证书以进行类似于此的证书验证在iOS中,如何使用https在服务器上使用自签名证书连接到服务器?.希望在这种情况下它能帮助别人.
基于 WOPI 协议,并且还通过互联网发布,包括 stackoverflow 发布CobaltCore 程序集,我们能够在 Office Web App 服务器上对 ppt/excel/word 进行编辑。我们试图了解更多的一件事是关于锁定/解锁。我对excel文件做了一些测试以了解锁定和解锁。如果我们能在 excel 中理解这一点,我们将移至 word 文件。以下是我的发现:
然而,在上述第 2 步之后,如果我只是让浏览器闲置超过 1 小时,实际上 OWA 服务器会每 15 分钟调用一次 RefreshLock ( x-wopi-override: REFRESH_LOCK ) 来刷新相同的锁,尽管默认情况下锁应该是过期的每个 WOPI 协议文件 30 分钟后。这样,它将继续锁定文件,WOPI 服务器没有机会释放锁定。
我只是想知道,当用户在客户端空闲时,我们什么时候可以在 WOPI 服务器端释放锁。我们无法将文件锁定几个小时(我还不知道这里的限制,尽管我们在很长时间后在 OWA 上查看 SharePoint 文件时会收到诸如会话已过期的消息),这将阻止其他用户编辑文件. 我们将 …
我在对话框中添加了一个只读的富编辑2.0控件(代码使用的是C windows API,该对话框是使用函数DialogBox创建的)
在对话框回调中,在WM_INITDIALOG,我添加以下代码以启用URL检测,并启用事件ENM_LINK被发送到父对话框而不是富编辑控件本身:
LRESULT mask = SendMessage(hWndText, EM_GETEVENTMASK, 0, 0); //hWndText is rich edit control
SendMessage(hWndText, EM_SETEVENTMASK, 0, mask | ENM_LINK);
::SendMessage(hWndText, EM_AUTOURLDETECT, TRUE, NULL);
Run Code Online (Sandbox Code Playgroud)
在最初启动对话框时启用URL检测时遇到了一些麻烦(这似乎是一个已知的问题或行为,因为丰富的编辑控件只能启用对已修改文本的URL检测).但是,我通过在每个WM_PAINT事件上再次设置对话框文本来解决此问题.
代码通常有效.我还实现了以下代码,当鼠标悬停在url上时,在浏览器中启动URL:
case WM_NOTIFY:
plink = (ENLINK *) lParam;
switch(LOWORD(wParam))
{
case IDC_DISPLAY_TEXT_2: //this is ID for my rich edit control
szURL =m_strDisplay.Mid(plink->chrg.cpMin, plink->chrg.cpMax - plink->chrg.cpMin);
LaunchURL(szURL); //function to launch the url with default browser
break;
default:
break;
}
Run Code Online (Sandbox Code Playgroud)
每当我将鼠标悬停在网址上时,我似乎都会收到WM_NOTIFY事件.然而,当我点击它时,我总是得到相同的事件鼠标悬停在上面.
根据ENLINK的结构,我应该在NMHDR结构中获得更详细的NM事件,但是值plink-> nmhdr.code始终是1803,甚至不是NM_HOVER(其定义的值是(NM_FIRST-13)而NM_FIRST是( 0U-0U),因此我的64位机器上的NM_HOVER值为4294967283).我知道我在这里遗漏了一些东西.有人会在这里点灯吗?如何为富编辑控件获取鼠标单击事件?
我们的iOS应用程序刚刚在iOS应用程序商店被拒绝了,这就是我们得到的:
PLA 3.3.9
我们发现您的应用使用分析软件收集设备数据并将其发送给第三方,这不符合iOS开发人员计划许可协议.
3.3.9未经用户同意,您和您的应用程序不得收集用户或设备数据,然后仅提供与使用应用程序直接相关的服务或功能,或提供广告服务.您不得在"应用程序"中使用分析软件来收集设备数据并将其发送给第三方.
具体来说,我们发现您的应用使用设备的MAC地址进行识别
我们在唯一的设备标识上使用Mac地址,我认为它不再允许(iOS 7也不支持查询Mac地址,请参阅链接).虽然没有明确说明,但是从"iOS开发者计划许可协议"的以下几行中我们可以清楚地看到它不再允许:
此外,您和您的应用程序都不会使用任何永久的,基于设备的标识符或从中派生的任何数据,以便唯一地识别设备
所以我已经在我们的代码中删除了Mac地址查询,并使用其他一些方法进行设备识别,但是我有点担心线条:
未经用户同意,您和您的应用程序可能无法收集用户或设备数据
您不得在"应用程序"中使用分析软件来收集设备数据并将其发送给第三方
我们的应用程序是移动内容管理软件.我们正在收集有关设备的信息,例如操作系统,型号,位置和用户的文档审核日志等.我们应该在这里向用户提供哪种类型的同意?
我们是否应该在此提交最终用户许可协议以包含所有这些协议?(我想我需要请我们公司的律师写出来).
现在,我们的代码确实提供了从我们的管理服务器下载的应用程序使用策略.在我们开始收集用户和设备信息之前,用户需要接受该策略.或者通过在该使用政策中提供更多相关文本是否足够?
现在,应用程序商店审核团队并没有抱怨我们会收集位置(我想无论如何都有来自操作系统的位置提示,用户需要接受).
您的建议非常受欢迎,因为我们在这里非常紧张,应用商店的审核周期大约是一周.不确定在下次提交上述修复后我们是否会遇到任何其他问题.或者也许应用商店评论团队会在一次审核中给出所有问题,如果我们解决了这个问题,我们应该很高兴,如果应用商店评论是这样的,请告诉我您的经验.非常感谢你的时间.
我们有一个C#Outlook加载项,允许最终用户单击功能区中的一个按钮以在新电子邮件中插入一些内容.我们正在使用MailItem.GetInspector.WordEditor来执行此操作.然而,奇怪的是我们的程序无法一直获得WordEditor.到目前为止,它只在我的机器上.
我们会像这样得到例外
System.Runtime.InteropServices.COMException (0x9CD04005): The operation failed.
at Microsoft.Office.Interop.Outlook._Inspector.get_WordEditor()
Run Code Online (Sandbox Code Playgroud)
最后4位数字总是4005,而前4位数字可能会改变.前4个应该引用发生错误的组件.
我在我的机器上安装了outlookspy,它也无法获得WordEditor.

我通过互联网进行了一些搜索并发现了这个链接:system.Runtime.InteropServices.COMException(0xB5904005):操作失败,因此它表明我们会在Activate事件上获取WordEditor以确保WordEditor完全初始化,但是在新的电子邮件,它应该已经根据我们的理解激活,除非我们在这里遗漏了一些东西 另外,我在一封新邮件上多次运行OUtlookSpy,每次WordEditor都为空.所以它似乎不应该是初始化问题.
有人可以对我们应该在这里调查的内容有所了解吗?
c# ms-office outlook-object-model outlook-addin outlook-2013
我正在将基于VS2008构建的项目移植到VS2005,因为我们的次要.NET版本必须是2.0而不是3.5,并且其余代码都基于VS2005。因此,我在.sln文件中将Visual Studio版本从2008修改为2005。
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Run Code Online (Sandbox Code Playgroud)
因此,我能够将.sln加载到VS2005中。我有一些构建问题,主要是“ var”,在我用实际数据类型修改了这些行之后,代码进行了编译并运行。
但是在项目组装时参考。我发现我的代码仍然引用来自.NET 3.5的Linq:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Xml.Linq.dll
Run Code Online (Sandbox Code Playgroud)
当我打开对话框以添加新引用时,我可以看到.NET版本2.0、3.5甚至4.0(尽管在大多数情况下CLR运行时版本为2.0.50727。Linq的运行时有时为1.x,有时为4.0版本是2.0.50727)。
我以为VS2005仅支持.NET 2.0,在这里似乎不是如此。因此,我想我该如何确保我的应用程序仅需要.NET 2.0框架。是否足以确保我仅参考.NET 2.0及以下参考?
我的 32 位应用程序在 64 位 Windows 7 上运行。我正在尝试访问注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall。我可以在 regedit 中看到,Uninstall默认 64 位注册表视图中的项下方有几个子项(Dropbox 在该位置以及 Google Chrome 中创建了一个项)。Uninstall然而, 32位注册表视图中确实没有键。实际上,在regedit中只有Active Setup下面一个键HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft。Windows下面连子键都没有Microsoft。
但是,当我的 32 位应用程序尝试访问 的 32 位注册表视图时HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall,我从 64 位视图中获取密钥。这是为什么?
即使标志KEY_WOW64_32KEY在这里也无济于事。我们的代码需要知道结果是来自 32 位视图还是 64 位视图。
我们的代码还访问密钥的 32 位和 64 位视图HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall,但我在那里没有看到这个问题。不同之处在于 HKLM 的 32 位视图有密钥Uninstall,而 HKCU 的 32 位视图没有。
我知道WoW64的注册表重定向,但这似乎不同。我在 MSDN 上找不到任何有用的信息。有人可以解释一下吗?
对于 Office 365 Outlook Web App,我们希望在最终用户上传附件后将附件转换为链接,但是我们在当前的 Outlook 插件中没有看到附件通知事件。
我们可以做的另一种方法是要求他们使用我们自己的按钮进行上传,但是我们需要引导最终用户使用我们自己的按钮,一旦显示新的电子邮件消息框,我们是否可以在电子邮件正文顶部添加一些消息,如下所示?
不知何故,根据我们的研究,Outlook Addin 目前只有一个事件,即SendEvent,有人可以确认这一点吗?如果是这样,那就相当有限了。
c# ×4
.net ×2
ios ×2
iphone ×2
.net-2.0 ×1
.net-4.0 ×1
android ×1
c ×1
c++ ×1
fsshttp ×1
keychain ×1
linux-kernel ×1
ms-office ×1
ms-wopi ×1
office-js ×1
outlook-2013 ×1
registry ×1
richedit ×1
self-signed ×1
sharepoint ×1
visual-c++ ×1
winapi ×1
windows ×1
wow64 ×1