2009-08-05 3 views
0

Ich spiele mit Sharepoint 2007 herum. Ich habe eine virtuelle Maschine (win server 2k3), auf der eine Instanz von sharepoint server 2007 läuft. Ich arbeite jetzt an der Erstellung von Webparts. Ich habe erfolgreich einfache, wie diese erstellt, den Text anzeigt:Konnte Datei oder Assembly nicht laden Sharepoint 2007 WebPart

public class SimpleWebPart : WebPart 
{ 
    private string _displayText = "Hello World!"; 
    [WebBrowsable(true), Personalizable(true)] 
    public string DisplayText 
    { 
     get { return _displayText; } 
     set { _displayText = value; } 
    } 
    protected override void Render(System.Web.UI.HtmlTextWriter writer) 
    { 
     writer.Write(_displayText); 
    } 
} 

ich diese (und ein paar Test ist) innerhalb einer Klassenbibliothek, die ich innerhalb von C:\Inetpub\wwwroot\wss\VirtualDirectories\80 in die _app_bin Ordner.

Die neueste, die ich hinzugefügt nutzt LINQ Daten aus einer Tabelle zu bekommen I (nicht Teil von Sharepoint) hinzugefügt:

public class SimpleDBWebPart : WebPart 
{ 
    protected override void Render(System.Web.UI.HtmlTextWriter writer) 
    { 
     var oDB = new SPWebPartDataClassesDataContext(); 
     var oRes = oDB.GetAllFirstTable(); 

     foreach(var item in oRes) 
     { 
      writer.Write("<div>Item Name: {0}</div>",item.text); 
      writer.Write("<div>Item ID: {0}</div>", item.id); 
     } 
    } 
} 

Die GetAllFirstTable() ist eine gespeicherte Prozedur, die alle Daten von meinem Test-Tabelle erhält:

ALTER PROCEDURE dbo.GetAllFirstTable 
AS 
    SELECT * FROM FirstTable 
    RETURN 

Wenn ich versuche, die WebPart zu einer Seite hinzuzufügen, erhalte ich diesen Fehler:

The "SimpleDBWebPart" Web Part appears to be causing a problem. Could not load file or assembly 'System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.

Ich habe Reflektor verwendet, um sicherzustellen, dass ich die Baugruppe in der DLL habe:

Und das scheint der Fall zu sein. Muss ich die Assembly zur web.config-Datei der Sharepoint-Site hinzufügen? Oder gibt es noch etwas, das ich vermisse?

Danke Jungs!

Antwort

3

Um die LINQ- oder .NET 3.5-Funktion verwenden zu können, müssen Sie zunächst den SharePoint für die Ausführung im 3.5-Modus konfigurieren. auf diese Links finden, wie man das tun

Simplest way

AnotherOne

+0

dies noch nicht für mich gearbeitet hat, erhalte ich einen Serverfehler in Anwendung ‚/‘. Ich werde versuchen, das herauszufinden. Danke für die Basis, um meine Suche einzuschränken: D – Anders

+2

Aktiviert die CallStack = "True" und CUstomError = "Aus" in Web.Config, werden Sie den tatsächlichen Fehler kennen lernen. – Kusek

+0

das eigentliche Problem war ich habe vergessen, .net 3.5 auf meinem Server>. Anders

Verwandte Themen