2015-05-26 1 views
9

Ich habe einen internen Bericht über meine Webanwendung, der, wenn ich ihn lokal suche, wie erwartet angezeigt wird. Ich verwende eine rdlc und xsd mit einer Standard apsx Webseite, um den Bericht zu rendern.Konnte Datei oder Assembly nicht laden Microsoft.SqlServer.Types sogar mit Copy Local

Ich habe jetzt meine Staging-Server bereitgestellt und wenn ich versuche, auf die Seite zu blättern, die den Bericht zeigt Ich erhalte:

:

An unexpected error occurred in Report Processing. 
Could not load file or assembly 'Microsoft.SqlServer.Types, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 

Vor Ort habe ich einen Verweis auf Microsoft.SqlServer.Types durch das Surfen hinzugefügt

C: \ Windows \ assembly \ GAC_MSIL \ Microsoft.SqlServer.Types \ 11.0.0.0__89845dcd8080cc91

Und ich habe es auf Copy Local und kann die .dll im bin-Ordner auf dem Staging-Server sehen, aber ich bekomme immer noch die Fehlermeldung.

Aus Interesse Ich kopierte die .dll von meinem lokalen Rechner und ftp'd es auf den Staging-Server und in den Ordner bin. Es funktionierte dann vorübergehend, bis ich einen weiteren Commit ausführte, der den bin-Ordner löschte und den Fehler zurückgab.

Es ist wie die Version von Microsoft.SqlServer.Types auf dem Betriebssystem des Staging-Servers vielleicht veraltet?

Was geht hier vor?

Antwort

10

Es ist wahrscheinlich auf der Suche nach one of its dependencies, wenn Sie sicher sind, dass die DLL im bin-Ordner ist.

Anstatt von der GAC zu referenzieren, haben Sie versucht, die Referenz zu entfernen und das folgende NuGet-Paket hinzuzufügen?

https://www.nuget.org/packages/Microsoft.SqlServer.Types/

+1

Nur der Job, mucho's gracias – JsonStatham

0

Erfahrene das gleiche Problem, das nach der Aktualisierung von Visual Studio und SQL Server-Instanzen aufgetreten.

Problem wurde nach der Neuinstallation von SQLSysClrtypes.msi und Pakete ReportViewer.msi gegangen, die heruntergeladen werden können here

Hoffe, dass es jemand helfen könnte.

0

Das gleiche Problem für mich, aber das Problem war, dass die Bindung Weiterleitungen in der app.config nicht auf die neue Version aktualisiert wurde. Normalerweise wird das nuget-Paket automatisch aktualisiert, aber dieses nugget packkage befand sich in einem referenzierten Projekt. Einfache Lösung:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <appSettings /> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> 
    </startup> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" /> 
     <!-- <bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" /> --> 
     <bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
</configuration>