首页 > 解决方案 > 如何在clickonce中添加窗口服务exe(作为外部exe)

问题描述

我有一个具有桌面 ui wpf 项目和窗口服务的解决方案。我需要创建 clickonce 安装程序。我已经成功地为 wpf 应用程序创建了安装程序。对于窗口服务,我只是将项目的引用添加到 wpf 项目中。在应用程序文件中包含窗口服务 exe,然后发布应用程序。安装 clickonce 设置时收到以下错误消息

平台版本信息 Windows:10.0.18363.0 (Win32NT) 公共语言运行时:4.0.30319.42000 System.Deployment.dll:4.8.3752.0 构建者:NET48REL1 clr.dll:4.8.4121.0 构建者:NET48REL1LAST_C df520.dll:4.8.3 构建作者:NET48REL1 dfshim.dll:10.0.18362.1 (WinBuild.160101.0800)

来源 部署网址: http: //192.168.0.162 :8189/Netsolace.Edible.Partner.Desktop.application 服务器:Microsoft-IIS/10.0 X-Powered-By:ASP.NET 部署提供程序网址:http: //192.168.0.162 :8189/Netsolace.Edible.Partner.Desktop.application 应用程序网址: http: //192.168.0.162 :8189/Application%20Files/Netsolace.Edible.Partner.Desktop_1_0_0_53/Netsolace.Edible.Partner.Desktop.exe.manifest 服务器: Microsoft-IIS/10.0 X-Powered-By:ASP.NET

身份部署身份:Netsolace.Edible.Partner.Desktop.application,版本=1.0.0.53,文化=中性,PublicKeyToken=cd5358bf47526dee,处理器架构=msil 应用程序身份:Netsolace.Edible.Partner.Desktop.exe,版本=1.0.0.53,文化=中性,PublicKeyToken=cd5358bf47526dee,处理器架构=msil,类型=win32

应用程序摘要 * 可安装的应用程序。

错误摘要 下面是错误摘要,这些错误的详细信息在日志后面列出。* 激活 http://192.168.0.162:8189/Netsolace.Edible.Partner.Desktop.application 导致异常。检测到以下失败消息: + 清单中的引用与下载的程序集 Netsolace.Edible.Partner.WindowServices.exe 的标识不匹配。

组件存储事务失败摘要未检测到事务错误。

警告 此操作期间没有警告。

操作进度状态 * [10/21/2020 12:47:03 PM]: http: //192.168.0.162 :8189/Netsolace.Edible.Partner.Desktop.application 的激活 已经开始。* [10/21/2020 12:47:03 PM]:部署清单的处理已成功完成。* [10/21/2020 12:47:03 PM]:应用程序的安装已经开始。* [10/21/2020 12:47:04 PM]:应用程序清单的处理已成功完成。

  • [10/21/2020 12:47:06 PM]:找到兼容的运行时版本 4.0.30319。* [10/21/2020 12:47:06 PM]:平台的信任和检测请求已完成。

错误详细信息 在此操作期间检测到以下错误。

  • [2020 年 10 月 21 日下午 12:47:08] System.Deployment.Application.InvalidDeploymentException (RefDefValidation)
    • 清单中的引用与下载的程序集 Netsolace.Edible.Partner.WindowServices.exe 的标识不匹配。
    • 来源:System.Deployment
    • 堆栈跟踪:在 System.Deployment.Application.DownloadManager.ProcessDownloadedFile(Object sender, DownloadEventArgs e) 在 System.Deployment.Application.FileDownloader.DownloadModifiedEventHandler.Invoke(Object sender, DownloadEventArgs e) 在 System.Deployment.Application.FileDownloader.OnModified( ) 在 System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next) 在 System.Deployment.Application.SystemNetDownloader.DownloadAllFiles() 在 System.Deployment.Application.FileDownloader.Download(SubscriptionState subState, X509Certificate2 clientCertificate) 在 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, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl, Uri& deploymentUri) 在 System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry(Uri activationUri, Boolean isShortcut, String textualSubId ,String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl) --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry(Uri) 的 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()在 System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(对象状态)处的 activationUri、Boolean isShortcut、String textualSubId、String deploymentProviderUrlFromExtension、BrowserSettings browserSettings、String& errorPageUrl)System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry 的 ExceptionDispatchInfo.Throw()(Uri activationUri,布尔 isShortcut,字符串 textualSubId,字符串 deploymentProviderUrlFromExtension,BrowserSettings browserSettings,String&errorPageUrl)在 System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(对象状态)System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry 的 ExceptionDispatchInfo.Throw()(Uri activationUri,布尔 isShortcut,字符串 textualSubId,字符串 deploymentProviderUrlFromExtension,BrowserSettings browserSettings,String&errorPageUrl)在 System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(对象状态)

组件商店交易详情 没有可用的交易信息。

标签: c#wpfserviceclickoncedesktop-application

解决方案


您可以使用Add->Add Existing Files (All files)在当前解决方案中添加该 exe 。

如果该 exe 在 ClickOnce 设置中仍未生成,请按F4 键检查该添加的 exe 的属性。

希望这个答案有帮助。


推荐阅读