2009-08-05 81 views
0

我正在玩Sharepoint 2007.我有一台虚拟机(win server 2k3),其上运行的SharePoint Server 2007实例。我现在正在创建Web部件。我已经成功地创建简单的,像这样的一个显示文本:无法加载文件或程序集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); 
    } 
} 

我有这样的一个(和一些测试的)一个类库,这是我投入_app_bin文件夹的C:\Inetpub\wwwroot\wss\VirtualDirectories\80内内。

最新的一个我添加使用LINQ从我添加了一个表(非SharePoint的一部分)得到的数据:

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); 
     } 
    } 
} 

GetAllFirstTable()是一个存储过程,从我的测试表中获取的所有数据:

ALTER PROCEDURE dbo.GetAllFirstTable 
AS 
    SELECT * FROM FirstTable 
    RETURN 

当我试图将Web部件添加到页面中,我得到这个错误:

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.

我使用反射器来确保我有DLL中的程序集: alt text

而且看起来就是这样。是否必须将程序集添加到SharePoint站点的web.config文件中?还是有什么我失踪?

谢谢你们!

回答

3

要使用LINQ或.NET 3.5功能,您需要先将SharePoint配置为以3.5模式运行。 请参阅有关如何做到这一点

Simplest way

AnotherOne

+0

这并没有为我工作还没有这些链接,我得到了“/”应用程序的服务器错误。我将尝试解决这个问题。感谢您的基地缩小我的搜索范围:D – Anders 2009-08-05 18:59:14

+2

在Web.Config中启用CallStack =“True”和CUstomError =“Off”,您将会了解实际的错误。 – Kusek 2009-08-06 03:44:15

+0

真正的问题是我忘了在我的服务器上安装.net 3.5>。<。哈哈。感谢您的输入,虽然:) – Anders 2009-08-06 16:42:11

相关问题