我有Visual Studio 2010和Outlook Addin 2010项目(.NET 4目标)的问题.我已经在我的项目中添加了一个表单区域,然后我将Localizable属性更改为true.现在,如果我关闭我的表单区域并重新打开它,我将收到此VS错误页面:
To prevent possible data loss before loading the designer, the following errors
must be resolved:
The variable 'resources' is either undeclared or was never assigned.
Run Code Online (Sandbox Code Playgroud)
如果代码是针对.NET 4的,那么当我更改表单区域或功能区中的任何属性时,实际上会发生这种情况.在针对.NET 3.5的项目中,一切都是有序的.这个错误引用的示例代码是由VS创建的,它是其中的一部分FormRegion.Designer.cs.它打破了ApplyResources(如果我发表评论,那么一切都好).
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources =
new System.ComponentModel.ComponentResourceManager(typeof(FormRegion1));
this.SuspendLayout();
//
// FormRegion1
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Name = "FormRegion1";
this.FormRegionShowing +=
new System.EventHandler(this.FormRegion1_FormRegionShowing);
this.FormRegionClosed +=
new System.EventHandler(this.FormRegion1_FormRegionClosed);
this.ResumeLayout(false);
}
Run Code Online (Sandbox Code Playgroud)
如果我选择忽略错误并强制VS加载可视化编辑器,那么我会收到另一个错误:
Cannot open a designer for the file …Run Code Online (Sandbox Code Playgroud) 我已经完成了第二个完整的Outlook 2003插件.
我想知道的是两件事:
我知道它们会被框架及时发布,我不知道的是它经常发生的真正必要性吗?
我知道Web服务Exchange提供检索邮件消息,但并不总是想要使用它,而是使用全面的Outlook功能.
谢谢.
我需要在使用自定义HTML代码编辑Outlook电子邮件时替换用户选择.
我尝试了两种方法:
Word.Range从中获取Word.Selection.range.Copy()把它放在剪贴板中inputString为outputStringoutputStringwith 替换选择range.PasteSpecial(...)Word.Range从中获取Word.Selection.range.Copy()把它放在剪贴板中.inputString为outputString(以Office Open XML格式,知道如何制作它以生成特定的HTML).outputStringwith 替换选择range.InsertXML(...)问题是:
insertXML您需要安装Microsoft Word.insertXML单独安装Outlook 无法执行此操作.请看:没有Word 2007部署Outlook 2007的影响,以获取更多信息.你知道更多的选择吗?我可以想到自己添加元素就像使用InsertParagraph,但我不确定我是否可以添加超链接或将遇到类似的问题.
我正在构建一个Outlook 2010加载项,它将使用票证系统的API与我们的票证系统绑定.一周前,我能够编译并获得正确执行其功能的上下文/功能区菜单.今天早上我添加了一些函数来加密和解密API密钥,但现在当我尝试编译时,我得到了
"错误1签名时发生错误:密钥无法在指定状态下使用."
没有与错误关联的行号或文件.起初我认为这是我已经包含的System.Security类,但是注释掉与此相关的所有内容并删除对System.Security的引用并没有解决问题.
我已经尝试重新启动所有内容并进行干净的构建而没有运气.在这个论坛帖子的建议我尝试删除我的机器和本地RSA文件,但没有任何区别.我还尝试删除我的解决方案中的_TemporaryKey.pfx文件,希望如果有问题,VS会重新创建一个新的工作,但是甚至没有更改错误消息告诉我文件丢失了.
毕竟,我尝试打开一个不同的加载项目,我没有修改大约一个星期,它也有同样的错误.我不确定此时是否存在Visual Studio或我的计算机的问题,但是一个全新的Outlook加载项项目将成功编译,因此它只影响旧项目.
嗨,我必须使用C#在Outlook 2010的本地目录中分别阅读附件和内联图像.我已经使用了属性和内容ID概念.我正在使用以下代码,但它现在正在工作.
if (mailItem.Attachments.Count > 0)
{
/*for (int i = 1; i <= mailItem.Attachments.Count; i++)
{
string filePath = Path.Combine(destinationDirectory, mailItem.Attachments[i].FileName);
mailItem.Attachments[i].SaveAsFile(filePath);
AttachmentDetails.Add(filePath);
}*/
foreach (Outlook.Attachment atmt in mailItem.Attachments)
{
MessageBox.Show("inside for each loop" );
prop = atmt.PropertyAccessor;
string contentID = (string)prop.GetProperty(SchemaPR_ATTACH_CONTENT_ID);
MessageBox.Show("content if is " +contentID);
if (contentID != "")
{
MessageBox.Show("inside if loop");
string filePath = Path.Combine(destinationDirectory, atmt.FileName);
MessageBox.Show(filePath);
atmt.SaveAsFile(filePath);
AttachmentDetails.Add(filePath);
}
else
{
MessageBox.Show("inside else loop");
string filePath = Path.Combine(destinationDirectoryT, atmt.FileName);
atmt.SaveAsFile(filePath);
AttachmentDetails.Add(filePath);
}
}
} …Run Code Online (Sandbox Code Playgroud) 我的Outlook 2010加载项(使用VSTO)在发送邮件时在不同的线程中执行一些Web服务调用.我想显示一个小的非模态弹出通知(如Skype/yahoo/Windows live messenger的通知),显示网络服务调用的结果.
我正在尝试根据我的要求自定义通知窗口项目.当使用以下代码从我的加载项的形式的单击事件处理程序调用时,它似乎工作正常:
private void btnOk_Click(object sender, EventArgs e)
{
PopupNotifier notifier = new PopupNotifier();
notifier.DisplayNotification("Test");
}
Run Code Online (Sandbox Code Playgroud)
但是,当从执行Web服务调用的后台线程调用相同的方法notifier.DisplayNotification("Test")时,通知程序挂起; 它的形式显示在屏幕上,但似乎没有文字,颜色或动画.它只是坐在那里,直到Outlook关闭.
我做了一些搜索,发现这可能发生,因为通知程序使用Show()方法而不是ShowDialog()来显示其表单.由于我不想弹出通知的模态对话框,我也无法将方法更改为ShowDialog().
根据其他文章,我也尝试使用backgroundWorkers,delegates,MethodInvoker等调用该方法,但无法获得所需的结果.
然而,在尝试上述内容时,我注意到不仅弹出通知程序,而且任何简单形式都会发生同样的情况.如果我在后台线程中创建它并调用Show()方法,它就会卡住,而在相同的情况下,ShowDialog()似乎工作正常.
任何关于如何解决这个问题的想法将不胜感激.
我来到此页面,正在考虑将我的VbaProject.OTM文件(位于中%appdata%\Microsoft\Outlook\)分发给办公室中大约30位用户的最佳方法。是更好地简单地复制/ OTM的文件粘贴到网络,然后复制/粘贴回所有用户的计算机(手动或使用.BAT)OR它会更好使用的方法在上述生成的链接描述一个OPS文件,然后使用Proflwiz.exe将其导入回来?有什么不同?
实际上,我们都在Microsoft Office Outlook 2003上,也许有一天,但可能要几年后,才能升级到2007。
我创建了一个Outlook插件.它没有什么特别的,只需添加一个带有一个菜单项的菜单.我按照http://blogs.msdn.com/b/mcsuksoldev/archive/2010/10/01/building-and-deploying-an-outlook-2010-add-in-part-2-of中的安装程序创建教程进行了操作.-2.aspx.
它在普通的Windows桌面安装上安装并正常运行,但我无法弄清楚如何在Citrix XenApp环境中执行此操作.我可以使用安装程序在安装Outlook成功的相同配置文件中安装它.但是当Outlook运行时,当我从"信任中心"菜单中查看它时,它位于"非活动应用程序插件"部分,并且它无法正常激活.如果我打开Manage COM Addins菜单,它会显示"Load at Startup"作为我的插件的加载行为.如果我尝试从此菜单手动激活它,则不会发生任何事情,如果我再次打开它,Load Behavior将更改为"Not Loaded.Managed Add-in Loader初始化失败."
以前有人遇到这个或类似的东西吗?提前致谢.
我正在尝试开发我的第一个每个Office加载项(用于Outlook).研究表明,这应该是一个基于Web的插件.
我创建了一个新项目(Outlook Web加载项),并尝试在调试器中运行它并收到错误"无法启动调试.无法找到Microsoft Internet Explorer".
我找不到任何设置来更改默认浏览器.我错过了什么?Widows 10,Visual Studio 2017.
[更新]我将为解决方案提供一个很好的奖励(由答案的质量决定),加上 微软说"加载项将在IIS本地托管",我甚至不知道这意味着什么: - (
有人可以解释如何为Outlook Web加载项设置开发环境吗?编码本身似乎很简单,但由于环境设置,我无法上手.
我有一个基于 React 的 SPA Outlook 插件,我正在尝试直接调用 Microsoft Graph API。
有没有办法利用Office.context.mailbox.getCallbackTokenAsync()或Office.context.auth.getAccessTokenAsync()获取 AccessToken 以直接从外接程序调用图形 API?
据我所知, getCallbackTokenAsync() 将允许我直接调用 Outlook REST API(我遇到了范围令牌的问题,因为我的清单权限未设置为 ReadWriteMailbox),并且 getAccessTokenAsync() 提供的 SSO 令牌将仅如果我将它传递到某处的服务器以“代表”OAuth 请求运行,则可以工作。
我不想通过 SSO 流通过服务器代理我的所有图形请求,但到目前为止,这是我看到的唯一解决方案。
outlook outlook-addin office365 outlook-restapi microsoft-graph-api