C# 强名称签名对此程序集stdole.dll无效
我刚刚开始在我的C# 强名称签名对此程序集stdole.dll无效,c#,wpf,clickonce,stdole,C#,Wpf,Clickonce,Stdole,我刚刚开始在我的ClickOnce应用程序中出现以下错误。安装并运行同一应用程序时,在看似成功的安装之后,我会收到一条错误消息: 应用程序验证未成功 错误详细信息我可以看到问题是: 强名称签名对此程序集stdole.dll无效 当我点击进入详细信息时,我得到 在此操作期间检测到以下错误的错误详细信息。 *[04/13/2016 11:33:22 AM]System.Deployment.Application.InvalidDeploymentException (签名消失) -强名称签名对此程
ClickOnce
应用程序中出现以下错误。安装并运行同一应用程序时,在看似成功的安装之后,我会收到一条错误消息:
应用程序验证未成功
错误详细信息我可以看到问题是:
强名称签名对此程序集stdole.dll无效
当我点击进入详细信息时,我得到
在此操作期间检测到以下错误的错误详细信息。
*[04/13/2016 11:33:22 AM]System.Deployment.Application.InvalidDeploymentException
(签名消失)
-强名称签名对此程序集stdole.dll无效。
-来源:System.Deployment
-堆栈跟踪:位于System.Deployment.Application.ComponentVerifier.VerifyStrongNameAssembly(字符串
文件路径,AssemblyManifest(AssemblyManifest)位于
System.Deployment.Application.ComponentVerifier.VerifyComponents()
在
System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState
子状态,AssemblyManifest部署清单,AssemblyManifest
appManifest、Uri sourceUriBase、字符串targetDirectory、字符串组、,
IDownloadNotification通知,下载选项)位于
System.Deployment.Application.ApplicationActivator.DownloadApplication(订阅状态
subState,ActivationDescription actDesc,Int64 transactionId,
TempDirectory&downloadTemp)位于
System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState&
subState,ActivationDescription actDesc)位于
System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri
activationUri,布尔值isShortcut,字符串textualSubId,字符串
deploymentProviderUrlFromExtension,浏览器设置浏览器设置,
位于的字符串和错误页面URL)
System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(对象
(州)
嘿,不确定您是否仍然没有解决问题,但请参阅本文:并根据您使用的Visual Studio版本应用它 问题是ClickOnce应用程序试图使用未签名版本的stdole dll,但您需要对其进行签名 详情请参阅网页:
这是一个非常隐秘的问题,它会一次又一次地潜入到您的脑海中(开发工具盒、构建机器等)。无论出于何种原因,Microsoft都会在Visual Studio程序集搜索路径中保留该程序集的未签名旧版本
查看更多详细信息和一些答案,这可能有助于避免将来出现这种情况。不确定何时出现,但由于我的回答太多,这将被锁定。谢谢你的解决方案;尽管ClickOnce提供的错误日志非常隐秘,但实现只需不到5分钟。从
C:\Program Files(x86)\Microsoft.NET\Primary Interop Assembly
复制较大的stdole.dll也为我解决了这个问题。版本和文件夹不同(使用旧的VS 2013 Pro安装),但提供的路径将使您离得足够近。