Wie behebe ich Berichtsbereitstellungsfehler beim Referenzieren von System.Core (4.0) unter SSRS 2008R2?

8

Vorwort:

Entwicklungsumgebung: Visual Studio 2010 mit BIDS + MSSQL 2012 auf lokaler Box

Produktionsumgebung: MSSQL 2008 R2 für den Live-Berichtsserver

Ich habe ein Problem mit der Bereitstellung eines Berichts beim Verweisen auf System.Core in meinem Bericht. Der Fehler ist unten.

  

Fehler beim Laden des Codemoduls: 'System.Core, Version = 4.0.0.0,   Kultur = neutral, PublicKeyToken = b77a5c561934e089 '. Details: Konnte nicht   Datei oder Baugruppe laden 'System.Core, Version = 4.0.0.0, Culture = neutral,   PublicKeyToken = b77a5c561934e089 'oder eine seiner Abhängigkeiten. Dies   Assembly wird von einer Laufzeit erstellt, die neuer ist als die aktuell geladene Laufzeit   und kann nicht geladen werden.

Ich verweise auf die System.Core in meinem Bericht, damit ich die TimeZoneInfo-Klasse verwenden kann. Ich habe weitere Fragen zur Verwendung dieser Klasse in SSRS gesehen, und ich konnte das Problem nicht lösen, nachdem ich in diesen Fragen Ratschläge erhalten hatte.

REF

Arbeiten mit Zeitzonen in SSRS

​​SSRS 2k8, benutzerdefinierte dll, Datei nicht gefunden

Reporting Services 2012-Bereitstellungsfehler: "Fehler während Ladecode-Modul "

Ich kann den System.Core 4.0 referenzieren und lokal ohne irgendein Problem laufen; Bei der Bereitstellung wird jedoch die obige Fehlermeldung angezeigt. Um dies weiter zu verdeutlichen, geschieht dies während des Bereitstellungsprozesses, nicht nach der Bereitstellung und dem Versuch, den Bericht auf dem Server auszuführen.

BEARBEITEN

Der Report RDL xml für CodeModule sieht folgendermaßen aus:

%Vor%

  

Das ist ungefähr soviel "Einbettung", wie ich sagen kann. Es ist wirklich nur ein Hinweis auf die Montage von den Looks davon.

Hilfe wäre sehr willkommen.

LÖSUNG Da Sie 4.0 nicht referenzieren können, können Sie auf 3.5 verweisen, um auf die TimeZoneInfo-Klasse zuzugreifen.

Schritt 1. Erstellen Sie eine Wrapper-Klasse für die TimeZoneInfo-Logik, die Sie verwenden möchten

Schritt 2. Ziel 3.5

Schritt 3. Erstellen Sie eine Release-Version, und kopieren Sie sie in das Verzeichnis [DRIVE]: \ Programme (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies, damit Ihr Designer sie laden kann

Schritt 4. Stellen Sie dieselbe Assembly auf dem SQL Server @ folgenden Ordner bereit [DRIVE]: \ Programme \ Microsoft SQL-Server \ MSRS10.SQL2008 \ Reporting Services \ ReportServer \ bin \

Jetzt können Sie Ihren Bericht bereitstellen. Also meine Fehler waren die folgenden

  1. Ich habe 3.5 nicht erwähnt

  2. Ich habe nicht in das richtige Verzeichnis für meine Visual Studio-Instanz kopiert, um die Assembly aufzunehmen. Ich hatte meine Installation in ein anderes Verzeichnis verschoben, und ich habe es nicht in den neuen Pfad eingefügt.

UPDATE Wenn jemand versucht, .NET 4.0 in SSRS 2012 und höher zu referenzieren und immer noch einen Fehler erhält, ist die Antwort einfach. SSRS 2012 und 2014 (?) Unterstützen noch nicht .NET 4.0

Quelle

Dies deutet darauf hin, dass die SSRS 2014 es auch nicht unterstützt (ich bin sprachlos, MICROSOFT!) MS KB

    
Hardrada 07.03.2013, 00:13
quelle

1 Antwort

0

Wie gewünscht:

LÖSUNG

Da Sie 4.0 nicht referenzieren können, können Sie auf 3.5 verweisen, um auf die TimeZoneInfo-Klasse zuzugreifen.

Schritt 1. Erstellen Sie eine Wrapper-Klasse für die TimeZoneInfo-Logik, die Sie verwenden möchten

Schritt 2. Ziel 3.5

Schritt 3. Erstellen Sie eine Release-Version und kopieren Sie sie in das Verzeichnis [DRIVE]: \ Programme (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies, damit Ihr Designer sie laden kann

Schritt 4. Stellen Sie die gleiche Assembly auf dem SQL Server im folgenden Ordner [DRIVE]: \ Programme \ Microsoft SQL Server \ MSRS10.SQL2008 \ Reporting Services \ ReportServer \ bin \

bereit

Jetzt können Sie Ihren Bericht bereitstellen. Also meine Fehler waren die folgenden

Ich habe 3.5 nicht erwähnt

Ich habe nicht in das richtige Verzeichnis für meine Visual Studio-Instanz kopiert, um die Assembly aufzunehmen. Ich hatte meine Installation in ein anderes Verzeichnis verschoben, und ich habe es nicht in den neuen Pfad eingefügt.

    
Hardrada 29.06.2015, 14:32
quelle

Tags und Links