2013-05-16 103 views
4

我发表了关于Azure的网站上的项目,并抛出异常:Microsoft.SqlServer.Types,版本= 11.0.0.0缺少

Microsoft.SqlServer.Types,版本= 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?

谢谢

+0

http://www.microsoft.com/en-gb/download/details.aspx?id=29065假设你不能说本地复制的你的项目中的DLL?你可能不得不采取这些微星我认为是CLR之一,并将其​​作为启动过程在你的卷轴上部署。 – JamesKn

回答

3

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

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

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

+1

谢谢詹姆斯和安迪。 我仍然在处理它的过程,但似乎我已经通过将GAC的Microsoft.ReportViewer.ProcessingObjectModel添加到我的项目中取得了进展。 我仍然必须做一些检查,但我一定会在这里发布结果。 再次感谢 –

+1

我们已经在Azure中运行了一些报告,并在项目中包含以下引用(所有前缀为Microsoft。):ReportViewer.Common,ReportViewer.DataVisualization,ReportViewer.ProcessingObjectModel和ReportViewer.WebForms。他们都被设置为在本地进行复制。希望有所帮助。 – AndyM

+1

谢谢安迪。现在一切正常。我已经添加了ProcessingObjectModel并设置为在本地复制。项目中还有Common和WebForms。 –

1

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

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

干杯,

2

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

我必须完全添加5个文件,并将这5个文件移至我的bin目录。然后通过浏览到bin目录并添加它们来添加这些参考。我重建了我的项目并复制到Web服务器 - 一切正常。

  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

另外,还要确保你有CORRE这些dll的ct版本来自bin目录中的GAC,并且我在服务器上安装了报表查看器。这些是为我工作的步骤。

+1

你从哪里得到Microsoft.SqlServer.Types.dll 11.0版本的副本? – epotter

2

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

0

我的经验

PM> Install-Package Microsoft.SqlServer.Types 

,并按照指示

我使用,直到我明白GACBin deploy

您的计算机具有所有要面对这样那样的问题将安装的DLL放到一个名为GAC(全局程序集缓存)的地方。所以如果他们在执行路径中找不到所需的DLL,你的本地程序可以在那里搜索他们的需求。对于开发人员本身来说通常是有效的,但是当您将程序部署到客户端时,可能会出现问题。请记住,您可以随时Bin部署您的DLL。首先,转到项目中的参考树,并通过浏览GAC(通常为c:\ windows \ assembly \ GAC_MSIL ...)添加所需的Dll,然后转到添加的Dll的属性窗口并将Copy Local设置为True。现在您可以发布或部署您的项目,并确保它可以工作。

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> 
相关问题