5

我已在 Azure 网站上发布了该项目,但它引发了异常:

尝试运行报告时缺少 Microsoft.SqlServer.Types,Version=11.0.0.0。本地一切正常。我在项目中有 RepowrtViewer.WebForms 和 ReportViewer.Common 版本均为 11.0.0.0。在 SDK/Assemblies 中本地的机器上

我有 Microsoft.SqlServer.Types,版本=11.0..2100.6。我试图将其添加到项目中,但没有奏效。同样的例外,

在哪里可以找到 Microsoft.SqlServer.Types 11.0.0.0?

谢谢

4

7 回答 7

3

您可能从本地计算机上的全局程序集缓存中引用 DLL,但它们不存在于 Azure 的 GAC 中。

打开 Visual Studio 并右键单击项目中的 Microsoft.SqlServer.Types 程序集引用并选择属性。将复制本地标志从 False 更改为 True 并重新编译您的应用程序。现在,您的应用程序 bin 文件夹中应该有 Microsoft.SqlServer.Types.dll 文件。

重新部署到天蓝色,希望错误会消失。

于 2013-05-16T09:47:03.570 回答
3

我是如何解决这个问题的。

我必须一共添加 5 个文件,并将这 5 个文件移到我的 bin 目录中。然后我通过浏览到 bin 目录并添加它们来添加这些引用。我重建了我的项目并复制到网络服务器 - 一切正常。

  1. Microsoft.SqlServer.Types.dll(确保复制正确的版本,因为我有 sql 2008 但使用报表查看器 11)
  2. Microsoft.ReportViewer.ProcessingObjectModel.dll
  3. Microsoft.ReportViewer.Common.dll
  4. Microsoft.ReportViewer.WebForms.dll
  5. Microsoft.ReportViewer.WinForms.dll

还要确保您在 bin 目录中拥有来自 GAC 的这些 dll 的正确版本,并且我在服务器上安装了报告查看器。这些是对我有用的步骤。

于 2014-03-08T03:01:12.620 回答
3

最好的解决方案是安装 Microsoft.SqlServer.Types NuGet 包。

PM> Install-Package Microsoft.SqlServer.Types

并按照其 readme.htm 中的说明进行操作

于 2015-02-24T14:19:53.463 回答
1

我遇到了完全相同的问题,但很快找到了解决方案。它在此文件夹 C:\Program Files (x86)\Microsoft SQL Server\100 中使用程序集,然后我通过 Visual Studio 删除了我的引用,并从此文件夹 C:\Program Files (x86)\Microsoft 中引用了正确的文件SQL Server\110

如果您仍然需要此参考,请使用此方法。

干杯,

于 2013-11-11T13:42:15.000 回答
1

ProductVersion使用以下查询检查您的 SQL 服务器,

SELECT  
  SERVERPROPERTY('MachineName') AS ComputerName,
  SERVERPROPERTY('ServerName') AS InstanceName,  
  SERVERPROPERTY('Edition') AS Edition,
  SERVERPROPERTY('ProductVersion') AS ProductVersion,  
  SERVERPROPERTY('ProductLevel') AS ProductLevel;  
GO  

会是这样的,

在此处输入图像描述

你可以在我的情况下看到ProductVersion = 13.0.1601.5。在您的项目中,转到 NuGet 包管理器并搜索Microsoft.SqlServer.Types. 从那里你可以看到,Microsoft.SqlServer.Types 与ProductVersion安装它相同。

在此处输入图像描述

于 2020-07-20T13:42:28.310 回答
0

我的经验

我曾经面临过这种问题,直到我理解GACBin deploy

您的计算机已将所有已安装的 DLL 放入一个名为 GAC(全局程序集缓存)的位置。因此,如果您的本地程序在执行路径中找不到所需的 DLL,则可以在那里搜索他们的需求。它通常适用于开发人员本身,但是当您将程序部署到客户端时,可能会出现问题。

请记住,您始终可以 Bin 部署您的 DLL。首先,转到项目中的引用树并通过浏览 GAC(通常为 c:\windows\assembly\GAC_MSIL...)添加所需的 Dll,然后转到添加的 Dll 的属性窗口并设置Copy LocalTrue. 现在您可以发布或部署您的项目并确保它可以正常工作。

于 2015-10-31T05:37:41.037 回答
0

确保您没有丢失绑定重定向

  <dependentAssembly>
      <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" />
      <bindingRedirect oldVersion="10.0.0.0-11.0.0.0" newVersion="14.0.0.0" />
    </dependentAssembly>
于 2018-01-30T09:26:03.403 回答