无法加载文件或程序集 Sharepoint 2007 Web 部件

发布于 2024-07-30 18:57:23 字数 1743 浏览 5 评论 0原文

我正在使用 Sharepoint 2007。我有一个虚拟机(win server 2k3),上面运行着一个 sharepoint server 2007 的实例。 我现在正在致力于创建 Web 部件。 我已经成功创建了简单的,例如显示文本的这个:

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

当我尝试时要将 WebPart 添加到页面,我收到以下错误:

“SimpleDBWebPart”Web 部件似乎引起了问题。 无法加载文件或程序集“System.Data.Linq,Version=3.5.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”或其依赖项之一。 系统找不到指定的文件。

我使用 Reflector 来确保 DLL 中有程序集: alt text

情况似乎确实如此。 我是否必须将程序集添加到共享点站点的 web.config 文件中? 还是我还缺少其他东西?

多谢你们!

I am playing around with Sharepoint 2007. I have a virtual machine (win server 2k3) with an instance of sharepoint server 2007 running on it. I am now working on creating web parts. I have successfully created simple ones, such as this one that displays text:

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

I have this one (and a few test ones) inside of a Class Library, which I put into the _app_bin folder inside of C:\Inetpub\wwwroot\wss\VirtualDirectories\80.

The latest one I added utilizes LINQ to get data from a table I added (not part of 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);
        }
    }
}

The GetAllFirstTable() is a stored procedure that gets all the data from my test table:

ALTER PROCEDURE dbo.GetAllFirstTable
AS
    SELECT * FROM FirstTable
    RETURN

When I try to add the WebPart to a page, I get this error:

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.

I used Reflector to make sure I have the assembly inside the DLL:
alt text

And that appears to be the case. Do I have to add the assembly to the web.config file of the sharepoint site? Or is there something else that I am missing?

Thanks guys!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

看透却不说透 2024-08-06 18:57:27

要使用 LINQ 或 .NET 3.5 功能,您需要首先将 SharePoint 配置为在 3.5 模式下运行。
有关如何执行此操作的信息,请参阅这些链接

最简单的方法

另一个

To use LINQ or .NET 3.5 feature you need to first configure the SharePoint to run in 3.5 Mode.
Refer to these links on how to do that

Simplest way

AnotherOne

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文