我已经在Azure网站上发布了该项目,它引发了异常:
当我尝试时,Microsoft.SqlServer.Types,Version = 11.0.0.0缺失 运行报告。在当地一切正常。我有 RepowrtViewer.WebForms和ReportViewer.Common都是版本11.0.0.0 在项目中。在SDK / Assemblies中的本地计算机上
我有Microsoft.SqlServer.Types,Version = 11.0..2100.6。我试图将此添加到项目中,但没有奏效。同样的例外,
我在哪里可以找到Microsoft.SqlServer.Types 11.0.0.0?
谢谢
答案 0 :(得分:3)
您可能是从本地计算机上的全局程序集缓存引用DLL,但它们不存在于Azure中的GAC中。
打开visual studio并右键单击项目中的Microsoft.SqlServer.Types程序集引用,然后选择属性。将copy local标志从False更改为True并重新编译您的应用程序。您现在应该在应用程序bin文件夹中具有Microsoft.SqlServer.Types.dll文件。
重新部署到azure,希望错误消失。
答案 1 :(得分:3)
我是如何解决的。
我必须完全添加5个文件,然后将这5个文件移到我的bin目录中。然后我通过浏览bin目录并添加它们来添加这些引用。我重建了我的项目并复制到了Web服务器 - 一切正常。
还要确保您在bin目录中的GAC中拥有这些dll的正确版本,并且我在服务器上安装了报表查看器。这些步骤对我有用。
答案 2 :(得分:2)
最好的解决方案是安装Microsoft.SqlServer.Types NuGet包。
PM> Install-Package Microsoft.SqlServer.Types
按照readme.htm
的说明操作答案 3 :(得分:1)
我有完全相同的问题,但很快找到了解决方案。它在此文件夹C:\ Program Files(x86)\ Microsoft SQL Server \ 100中使用程序集,然后我通过Visual Studio删除了我的引用,并在此文件夹C:\ Program Files(x86)\ Microsoft中引用了正确的文件SQL Server \ 110
如果您仍然需要此参考,请使用此方法。
干杯,
答案 4 :(得分:1)
使用以下查询检查您的SQL Server ProductVersion
,
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
。从那里可以看到具有相同ProductVersion
的Microsoft.SqlServer.Types并安装它。
答案 5 :(得分:0)
我的经历
在我理解GAC
和Bin deploy
您的计算机已将所有已安装的DLL放入名为GAC(全局程序集缓存)的位置。所以如果他们在执行路径中找不到所需的DLL,那么本地程序可以在那里搜索他们的需求。它通常适用于开发人员本身,但是当您将程序部署到客户端时,可能会出现问题。
请记住,您始终可以Bin部署您的DLL。首先,转到项目中的引用树,然后通过浏览GAC(通常是c:\ windows \ assembly \ GAC_MSIL ...)添加所需的Dll,然后转到添加的Dll的属性窗口并设置Copy Local
到True
。现在,您可以发布或部署项目,并确保它可以正常运行。
答案 6 :(得分: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>