gpt4 book ai didi

c# - 获取一个Microsoft.VisualStudio.TextLogic版本14必须安装在GAC中

转载 作者:行者123 更新时间:2023-11-30 12:39:32 27 4
gpt4 key购买 nike

最近我试用了 Visual Studio 2017。我们有一个 MSDN 订阅。我们正在开发一些我们正在编写为 WPF 应用程序的内部应用程序。这些应用程序需要安装在用户没有管理权限的用户计算机(Windows 7 到 Windows 10)上。在这一点上,对我们伤害最大的事情是在不需要管理员在场的情况下安装 ReportViewer 控件。 VS 2015 及更早版本是不可能的,因为(据我所知)VS 2015 及更早版本,ReportViewer 控件是一个 ActiveX 控件,需要管理员权限才能安装。有人告诉我,在 VS 2017 中,新的 ReportViewer 控件(版本 14)不是 ActiveX 控件;它不需要管理员权限。这是个好消息,我已经告诉我的同事们了。为了演示这一点,我使用 VS 2017 编写了一个非常简单的 WPF 应用程序。我所做的只是将 ReportViewer 控件放到一个窗口上。它确实花了大约 6 周的时间才最终让它工作(比它应该的时间长得多),但我使用 ClickOnce 部署将它部署到一台机器上。

接下来,我想我要向自己证明我可以再做一次,这次我要记下我所做的事情。我曾两次尝试复制同一个简单的应用程序,但我不断收到以下消息:

enter image description here

这根本行不通,因为这让我们又回到了同样的问题——一些管理员必须在附近才能安装这个应用程序。我们不希望那样。以下是我采取的步骤:

  1. 使用 VS 中的程序包管理器控制台安装了 Microsoft.SqlServer.Types 版本 14.0.314.76。
  2. 使用程序包管理器控制台安装了 Microsoft.ReportingServices.ReportViewerControl.Winforms 版本 140.340.80
  3. 在 XAML 中,我在窗口标记中包含命名空间 Microsoft.ReportViewer.WinForms。
  4. 添加了对 System.Windows.Forms 和 WindowsFormsIntegration 的引用
  5. 在窗口的 Grid 标记中添加了以下 XAML:

  6. 设置 ClickOnce 部署

  7. 由于涉及中文位置文件的错误,我进入了项目的发布选项卡 |应用程序文件并将所有以“zh-”开头的文件发送到发布状态排除。

然后我将其发布到网络共享,并使用没有权限的帐户在未安装旧 ReportViewer 的计算机上运行 ClickOnce Setup.exe。

我收到了我在这篇文章开头附近给出的“需要系统更新”消息。

为什么会这样?为什么需要在 GAC 中安装 Microsoft.VisualStudio.Text.Logic?特别是对于一个甚至根本不连接到任何数据库的应用程序?

最佳答案

因为它看起来是 GAC 中 ReportViewer 文件的重要 DLL,其中还包括 Microsoft.VisualStudio.Text.Logic DLL 到包中。因此,它会显示错误,除非它找到丢失的 DLL。

尝试以下步骤将 DLL 添加到项目工具栏中:

  1. Run the below command in the Package Manager Console:

     Install-Package Microsoft.ReportingServices.ReportViewerControl.Winforms -Version 140.340.80
  2. Right click in anywhere in the toolbox and then select Choose Items...

  3. On the .NET Framework Components, click on Browse

  4. Select the Microsoft.ReportViewer.WinForms.dll from the NuGet package you installed.

  5. The new control should display within the toolbox. And then try to publish your project with this new reportviewer.

link 中所述由 Dmitry 的评论分享。

关于c# - 获取一个Microsoft.VisualStudio.TextLogic版本14必须安装在GAC中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45225589/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com