我在从WPF应用程序打开ClickOnce应用程序时遇到了问题。
当我尝试在Internet Explorer中打开http:/myServerName/ReportServer/ReportBuilder/ReportBuilder_3_0_0_0.application?
(注意一个/故意丢失)时,一切正常。正在启动报告构建器,没有任何问题。
如果我尝试在Mozilla中执行相同的操作 - 它会下载应用程序文件,当我尝试运行它时,我收到错误:
无法下载该应用程序。
现在尝试从我的应用程序中打开 Report Builder ,我运行:
WebBrowser wb = new WebBrowser();
wb.Navigate("http:/myServer/ReportServer/ReportBuilder/ReportBuilder_3_0_0_0.application?");
(注意一个/故意丢失) 我得到了同样的错误,好像是来自Mozilla。 如果我尝试按Ctrl +单击我的代码中的链接,也会发生同样的事情。
注意:我已将默认浏览器设置为Internet Explorer。
发生以下错误:
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of C:\Users\Deividas\AppData\Local\Microsoft\Windows\INetCache\IE\D5SZ3L71\ReportBuilder_3_0_0_0[1].application resulted in exception. Following failure messages were detected:
+ Downloading file:///C:/Users/Deividas/AppData/Local/Microsoft/Windows/INetCache/IE/D5SZ3L71/RptBuilder_3/MSReportBuilder.exe.manifest did not succeed.
+ Could not find a part of the path 'C:\Users\Deividas\AppData\Local\Microsoft\Windows\INetCache\IE\D5SZ3L71\RptBuilder_3\MSReportBuilder.exe.manifest'.
+ Could not find a part of the path 'C:\Users\Deividas\AppData\Local\Microsoft\Windows\INetCache\IE\D5SZ3L71\RptBuilder_3\MSReportBuilder.exe.manifest'.
+ Could not find a part of the path 'C:\Users\Deividas\AppData\Local\Microsoft\Windows\INetCache\IE\D5SZ3L71\RptBuilder_3\MSReportBuilder.exe.manifest'.
堆栈追踪:
Following errors were detected during this operation.
* [2015-07-10 13:52:41] System.Deployment.Application.DeploymentDownloadException (Unknown subtype)
- Downloading file:///C:/Users/Deividas/AppData/Local/Microsoft/Windows/INetCache/IE/D5SZ3L71/RptBuilder_3/MSReportBuilder.exe.manifest did not succeed.
- Source: System.Deployment
- Stack trace:
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.DownloadManifestAsRawFile(Uri& sourceUri, String targetPath, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
at System.Deployment.Application.DownloadManager.DownloadApplicationManifest(AssemblyManifest deploymentManifest, String targetDir, Uri deploymentUri, IDownloadNotification notification, DownloadOptions options, Uri& appSourceUri, String& appManifestPath)
at System.Deployment.Application.DownloadManager.DownloadApplicationManifest(AssemblyManifest deploymentManifest, String targetDir, Uri deploymentUri, Uri& appSourceUri, String& appManifestPath)
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)
--- Inner Exception ---
System.Net.WebException
- Could not find a part of the path 'C:\Users\Deividas\AppData\Local\Microsoft\Windows\INetCache\IE\D5SZ3L71\RptBuilder_3\MSReportBuilder.exe.manifest'.
- Source: System
- Stack trace:
at System.Net.FileWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.FileWebRequest.GetResponse()
at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
--- Inner Exception ---
System.Net.WebException
- Could not find a part of the path 'C:\Users\Deividas\AppData\Local\Microsoft\Windows\INetCache\IE\D5SZ3L71\RptBuilder_3\MSReportBuilder.exe.manifest'.
- Source: System
- Stack trace:
at System.Net.FileWebResponse..ctor(FileWebRequest request, Uri uri, FileAccess access, Boolean asyncHint)
at System.Net.FileWebRequest.GetResponseCallback(Object state)
--- Inner Exception ---
System.IO.DirectoryNotFoundException
- Could not find a part of the path 'C:\Users\Deividas\AppData\Local\Microsoft\Windows\INetCache\IE\D5SZ3L71\RptBuilder_3\MSReportBuilder.exe.manifest'.
- Source: mscorlib
- Stack trace:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync)
at System.Net.FileWebStream..ctor(FileWebRequest request, String path, FileMode mode, FileAccess access, FileShare sharing, Int32 length, Boolean async)
at System.Net.FileWebResponse..ctor(FileWebRequest request, Uri uri, FileAccess access, Boolean asyncHint)
单击详细信息时完整错误日志文件: http://pastebin.com/eLJPq9qr
答案 0 :(得分:1)
我设法通过这个简单的解决方案克服了这个问题:
Process p = new Process();
p.StartInfo.FileName = "iexplore.exe";
p.StartInfo.Arguments = "http://myServer/ReportServer/ReportBuilder/ReportBuilder_3_0_0_0.application?/Folder1/Folder+two/report1";
p.Start();
它启动报告构建器,您可以选择指定打开所需报告的路径(已连接到报告服务器)。 希望这有帮助