所以我正在使用VS 2019社区。我正在构建一个ClickOnce应用程序。它在我的开发机器上运行良好,但是当我部署它时,出现以下错误。
在研究中,我看到了对Powershell版本的引用:C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.7.2 \ System.Deployment.dll,WMF 5.1(尽管我认为是Win7),使用sn.exe -k创建密钥对并使用它来对程序集进行签名(不确定我是否正确执行了此操作),以及.NET Framework的版本(4.7.2)。
当我单击PUBLISH> APPLICATION FILES时,Microsoft.Management.Infrastructure.dll是列出的第一个文件,并设置为Include(Auto)。当我编译程序时,它最终位于目标目录中。我在这个程序上花了很多时间,但现在突然停止工作了。我在这里做错了。
当我从ClickOnce程序运行“ setup.exe”时,出现了错误,下面是详细信息。
平台版本信息 Windows:10.0.18363.0(Win32NT) 通用语言运行时:4.0.30319.42000 System.Deployment.dll:4.8.3752.0建立于:NET48REL1 clr.dll:4.8.4180.0创建于:NET48REL1LAST_B dfdll.dll:4.8.3752.0建立于:NET48REL1 dfshim.dll:10.0.18362.1(WinBuild.160101.0800)
来源 部署网址:file://nas1/Public/Deploy/SystemCheck/SystemCheck.application 部署提供程序URL:file://nas1/public/Deploy/SystemCheck/SystemCheck.application 应用程序URL:file://nas1/Public/Deploy/SystemCheck/Application%20Files/SystemCheck_1_0_0_27/SystemCheck.exe.manifest
身份 部署身份:SystemCheck.application,版本= 1.0.0.27,文化=中性,PublicKeyToken = f1cc0acc9a715546,processorArchitecture = msil 应用程序身份:SystemCheck.exe,版本= 1.0.0.27,文化=中性,PublicKeyToken = f1cc0acc9a715546,ProcessorArchitecture = msil,type = win32
应用摘要 *可安装的应用程序。
错误摘要 下面是错误的摘要,这些错误的详细信息在日志的后面列出。 *激活\ nas1 \ Public \ Deploy \ SystemCheck \ SystemCheck.application导致异常。检测到以下失败消息: +强名签名对此程序集Microsoft.Management.Infrastructure.dll无效。
组件存储交易失败摘要 未检测到交易错误。
警告 在此操作期间没有警告。
运行进度状态 * [5/23/2020 2:45:11 PM]:\ nas1 \ Public \ Deploy \ SystemCheck \ SystemCheck.application的激活已开始。 * [5/23/2020 2:45:12 PM]:部署清单的处理已成功完成。 * [5/23/2020 2:45:12 PM]:该应用程序的安装已开始。 * [5/23/2020 2:45:13 PM]:申请清单的处理已成功完成。 * [5/23/2020 2:45:14 PM]:找到兼容的运行时版本4.0.30319。 * [5/23/2020 2:45:14 PM]:信任和对平台的检测请求已完成。
错误详情 在此操作期间检测到以下错误。 * [5/23/2020 2:45:15 PM] System.Deployment.Application.InvalidDeploymentException(SignatureValidation) -强名签名对此程序集Microsoft.Management.Infrastructure.dll无效。 -来源:System.Deployment - 堆栈跟踪: 在System.Deployment.Application.ComponentVerifier.VerifyStrongNameAssembly(String filePath,AssemblyManifest assemblyManifest) 在System.Deployment.Application.ComponentVerifier.VerifyComponents() 在System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState,AssemblyManifest deployManifest,AssemblyManifest appManifest,Uri sourceUriBase,String targetDirectory,字符串组,IDownloadNotification通知,DownloadOptions选项) 在System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState 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,BrowserSettings browserSettings,String&errorPageUrl,Uri&deploymentUri) 在System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry(Uri activationUri,布尔值isShortcut,字符串textualSubId,字符串DeploymentProviderUrlFromExtension,BrowserSettings browserSettings,字符串&errorPageUrl) ---从之前引发异常的位置开始的堆栈结束跟踪--- 在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry(Uri activationUri,布尔值isShortcut,字符串textualSubId,字符串DeploymentProviderUrlFromExtension,BrowserSettings browserSettings,字符串&errorPageUrl) 在System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(对象状态)
组件存储交易明细 没有可用的交易信息。