我已经为outlook编写了一个VSTO 3.0插件。它在ThisAddIn的常用线路上。该加载项的目标是Office2007或以上。我们最近发现它在某些工作站上不起作用。这里总结了它无法加载的地方。
外接程序加载并工作良好: 1)使用Office 2007的所有32位工作站(包括windows server 2003和windows 7),以及Office 2010的所有32位工作站(包括windows server 2003和windows 7)。
加载项甚至不加载在某些64位工作站上。我们比较了它工作的工作站和不工作的工作站,它们完全相同,包括安装的软件。事实上,我们花了很多时间来确保两者在各个方面都是相同的。
它们都是运行Windows server 2003,Office 2007 (32位)的64位工作站.我认为到目前为止Office 2007还没有64位版本。我在事件日志中收到的确切错误是:请注意,我已经从这个帖子中删除了URL (VSTO URL)。
定制URI:"VSTO URL“异常:由于无法创建应用程序域,无法加载自定义。无法加载******异常文本****** Microsoft.VisualStudio.Tools.Applications.Runtime.CannotCreateCustomizationDomainException:自定义,因为无法创建应用程序域。-> System.IO.FileLoadException:加载此程序集将产生与其他实例不同的授权集。( HRESULT: 0x80131401的例外)在System.RuntimeTypeHandle.CreateInstance(RuntimeType类型下,布尔型publicOnly、布尔型noCheck、布尔& canBeCached、RuntimeMethodHandle& ctor、布尔& bNeedSecurityCheck)在System.RuntimeType.CreateInstanceSlow(布尔型publicOnly,布尔型fillCache)的System.RuntimeType.CreateInstanceImpl(布尔型publicOnly、布尔skipVisibilityChecks、布尔型fillCache)的System.Activator.CreateInstance(布尔型,布尔型nonPublic)、绑定器、Object[] args、nonPublic文化,( Object[] activationAttributes) at System.Activator.CreateInstance(类型,BindingFlags bindingAttr,binder粘合剂,Object[] args,CultureInfo文化,Object[] activationAttributes ) at System.Activator.CreateInstance(String assemblyName,String typeName,Boolean,BindingFlags bindingAttr,binder粘合剂,Object[] args,bindingAttr文化,typeName,ignoreCase,StackCrawlMark& )在( String,String )在(String,String)在#en0 28,( String typeName) at Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.LoadMafPipeline(AppDomain assemblyName,String typeName) at Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.LoadMafPipeline(AppDomain newDomain,IntPtr hostServiceProvider,AddInInformation info,EntryPoints requestedEntryPoints,OfficeApp officeApplication,OfficeVersion officeVersion,IntPtr& executor) ( Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.CreateCustomizationDomainInternal(String solutionLocation ),String officeVersion,String officeVersion,Boolean,,IntPtr& executor) --内部异常堆栈跟踪的结束-- *****加载程序集******* *******汇编版本: 2.0.0.0 Win32版本: 2.0.50727.5737 (QFE.050727-5700) CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll- Microsoft.VisualStudio.Tools.Office.Runtime.v10.0汇编版本: 10.0.0.0 Win32版本: 10.0.21022.1 file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualStudio.Tools.Office.Runtime.v10.0/10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualStudio.Tools.Office.Runtime.v10.0.dll :CodeBase
我已经发现,如果构建在类似行上的另一个外接程序首先加载,则我的外接程序无法加载。这个加载项,比方说,Adddin1如果加载,就会显示我的加载项不活动。Addin1的构建与我的加载项相同的目标环境类似。如果禁用Addin1,我的外接程序就会加载得很好。由于各种原因,我没有在Addin1上更改任何东西的自由。
我可以对我的加载项做什么改变来独立于任何其他加载项?
我可以选择加载加载项的顺序吗?
是否有对vstoee.dll的依赖?
任何建议都会有帮助。谢谢。
发布于 2013-07-03 07:00:26
购买一个新的工作站与所有新的软件安装,而不是应用一个映像。这解决了这个问题。
https://stackoverflow.com/questions/16935664
复制相似问题