我正在尝试部署ClickOnce应用程序,但是在客户端上安装失败。这是错误日志:
PLATFORM VERSION INFO Windows : 6.1.7601.65536 (Win32NT) Common Language Runtime : 4.0.30319.1 System.Deployment.dll : 4.0.30319.1 (RTMRel.030319-0100) clr.dll : 4.0.30319.1 (RTMRel.030319-0100) dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100) dfshim.dll : 4.0.31106.0 (Main.031106-0000) SOURCES Deployment url : http://MyProduct.com/download/workstation/MyProduct%20Front%20Desk.application Server : Microsoft-IIS/7.5 X-Powered-By : ASP.NET Deployment Provider url : http://MyProduct.com/Download/Workstation/MyProduct%20Front%20Desk.application Server : Microsoft-IIS/7.5 X-Powered-By : ASP.NET Application url : http://MyProduct.com/Download/Workstation/Application%20Files/MyProduct%20Front%20Desk_1_0_0_7/MyProduct%20Front%20Desk.exe.manifest Server : Microsoft-IIS/7.5 X-Powered-By : ASP.NET IDENTITIES Deployment Identity : MyProduct Front Desk.application, Version=1.0.0.7, Culture=neutral, PublicKeyToken=df343a0868ab2d74, processorArchitecture=msil Application Identity : MyProduct Front Desk.exe, Version=1.0.0.7, Culture=neutral, PublicKeyToken=df343a0868ab2d74, processorArchitecture=msil, type=win32 APPLICATION SUMMARY * Installable application. ERROR SUMMARY Below is a summary of the errors, details of these errors are listed later in the log. * Activation of http://MyProduct.com/download/workstation/MyProduct%20Front%20Desk.application resulted in exception. Following failure messages were detected: + Reference in the manifest does not match the identity of the downloaded assembly MyProductSiteServer.exe. COMPONENT STORE TRANSACTION FAILURE SUMMARY No transaction error was detected. WARNINGS There were no warnings during this operation. OPERATION PROGRESS STATUS * [03/17/11 11:51:04] : Activation of http://MyProduct.com/download/workstation/MyProduct%20Front%20Desk.application has started. * [03/17/11 11:51:04] : Processing of deployment manifest has successfully completed. * [03/17/11 11:51:04] : Installation of the application has started. * [03/17/11 11:51:05] : Processing of application manifest has successfully completed. * [03/17/11 11:51:06] : Found compatible runtime version 4.0.30319. * [03/17/11 11:51:06] : Request of trust and detection of platform is complete. ERROR DETAILS Following errors were detected during this operation. * [03/17/11 11:51:30] System.Deployment.Application.InvalidDeploymentException (RefDefValidation) - Reference in the manifest does not match the identity of the downloaded assembly MyProductSiteServer.exe. - Source: System.Deployment - Stack trace: at System.Deployment.Application.DownloadManager.ProcessDownloadedFile(Object sender, DownloadEventArgs e) at System.Deployment.Application.FileDownloader.DownloadModifiedEventHandler.Invoke(Object sender, DownloadEventArgs e) at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next) at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles() at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState) at System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options) at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp) at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc) at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl) at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state) COMPONENT STORE TRANSACTION DETAILS No transaction information is available.
我需要部署的主要exe文件是MyProductFrontDesk.exe,该文件依赖于MyProductSiteServer.exe-,并且似乎是引发错误的地方:“清单中的引用与下载的程序集MyProductSiteServer.exe的标识不匹配。”
MyProductFrontDesk.exe
MyProductSiteServer.exe
哪些清单需要更正?如何?
Visual Studio 2008中存在一个问题,该问题可以通过不嵌入默认清单来解决 -该文章中的评论之一表明该问题仍存在于Visual Studio 2010中。
在项目属性-> 应用程序 选项卡-> 资源 ->复选框 图标和清单中 ,设置“使用默认设置嵌入清单”引起了问题。将其设置为“创建没有清单的应用程序”可以解决此问题。