2011-01-13 8 views
2

Ich muss Verweis auf "System.XML.dll" Assembly in web.config hinzufügen (um die Lösung für das Problem zu versuchen, hier erwähnt: Problem with Extension method: IXmlLineInfo).Wie referenziere ich die Assembly von web.config?

Ich habe versucht, die folgende Zeile in "Baugruppen" Abschnitt hinzuzufügen:

<add assembly="System.Xml, Version=2.0.5.0, Culture=neutral, 
    PublicKeyToken=7cec85d7bea7798e"/> 

, die einen Fehler verursacht:

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Could not load file or assembly 'System.Xml, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

ehrlich zu sein, ich bin nicht sicher, ob Version/Kultur/PublicKeyToken sind korrekt angegeben.

Ich habe einige verschiedene Versionen von System.XML.dll:

  • C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v3.5 \ Profile \ Client \ System. XML.dll
  • C: \ Programme (x86) \ Referenz-Assemblys \ Microsoft \ Framework.NETFramework \ v4.0 \ Profil \ Client \ System.XML.dll
  • C: \ Programme (x86) \ Referenz Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.XML.dll
  • C: \ Programme (x86) \ Reference Assemblies \ Microsoft \ Framework \ Silve rlight \ v3.0 \ System.Xml.dll
  • C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ Silverlight \ v4.0 \ System.Xml.dll

Auch ich habe einige Baugruppen in GAC in Framework Framework-x64, etc ...

Question1:

Welche Montage benötige ich?

Question2: (veraltet)

Wie genaue Montageversion und PublicKeyToken bestimmen?

P.S. Lustige Sachen, als ich Frage gestellt habe, die ich gefunden habe, dass es ein "publickkeytoken" Tag bereits gibt und es Antwort für Frage2 enthält :)

Dank viel!

+1

Sie können die vollständige Signatur für eine .NET-Assembly leicht ermitteln, indem Sie sie [laden].NET Reflektor] (http://i.imgur.com/7BYX7.png). Alternativ können Sie nur das öffentliche Schlüsseltoken abrufen, indem Sie an einer Visual Studio-Eingabeaufforderung "sn-T " aufrufen. –

Antwort

1

Wenn Sie Visual Studio verwenden, können Sie dies tun, indem Sie mit der rechten Maustaste auf Projekt-> Verweis hinzufügen-> Unter .NET klicken Registerkarte finden Sie diese Assembly.

How to add assembly reference via VS.

Je nach Projekttyp, z. B. WebSite oder WebApplication VS, wird entweder ein Eintrag in web.config hinzugefügt oder die DLL wird in den Ordner bin hinzugefügt.

Jetzt welche Sie benötigen (2.0/3.5/4.0) hängt von Ihrer Anwendung ab.

3

Probieren Sie "gacutil/l" aus und stellen Sie sicher, dass Sie in Ihre web.config die Datei einfügen, auf die Sie wirklich verweisen möchten, abhängig von der .NET-Zielversion (z. B. 3.5, 4.0 usw.). (Stellen Sie sicher, dass Sie die Assembly über Assembly.Load() laden können.)

+0

Ja, diese Arbeit. Sie müssen den Befehl über die Eingabeaufforderung des Entwicklers ausführen. Dies ist nicht in Visual Studio Sie müssen zu Ihrem Windows-Menü zu Visual Studio gehen und öffnen Sie Visual Studio-Tool, im Inneren ist Entwickler Eingabeaufforderung. – freedeveloper

Verwandte Themen