在生产机器上使用类库的问题

时间:2014-04-19 17:07:59

标签: asp.net .net vb.net web-site-project

我有一个使用VB.NET创建各种命名空间的类库。

示例类:

Namespace XYZ
    Public NotInheritable Class Class1
        Shared Function One() As List(Of String)
        End Function

        Shared Sub Two()
        End Sub
    End Class
End Namespace

ASP.NET Web窗体网站中引用了ClassLibrary.dll中的一些内容。

当我在开发机器上使用它时,它工作正常。但是,当我尝试在生产机器上调用使用任何引用代码的页面时,它不起作用。

道歉,我没有确切的错误消息,但它们基本上都是:

  1. 尚未宣布Class1。
  2. 命名空间XYZ不包含任何公共成员(或沿着这些行的某些内容)。
  3. 我做了一些搜索,但没有运气。

    当我使用桌面应用程序和在开发机器的IIS上运行的aspx页面测试它时,此代码可以正常工作。

    我尝试将代码移动到一个无法运行的模块。我已经尝试直接在站点中创建一个新的类文件,并重新编写不起作用的代码。

    当我将代码直接放在aspx.vb页面中时,它不会生成编译错误,但DropDownLists仍然没有填充。

    填充DropDownLists的示例代码:

    ddl_One.DataSource = Class1.GetEmployeeNames()
    ddl_One.DataBind()
    

    编辑(更多信息):

    Microsoft(R)Visual Basic编译器版本11.0.50938.18408 版权所有(c)Microsoft Corporation。保留所有权利。

    错误BC30002:输入' CapabilitiesForm'没有定义。

    版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.18408

3 个答案:

答案 0 :(得分:1)

问题在于与应用程序池相关的IIS设置。

我道歉我没有详细的解决方案,但是通过解决另一个问题解决了这个问题。

答案 1 :(得分:0)

如果您使用的是.Net Framework 4.0 Client Profile,则将其更改为.Net Framework 4.0并检查生产计算机上的Microsoft .NET Framework 4。也许只安装了Microsoft .NET Framework 4 Client profile

另外,请检查是否在Project properties =>中检查了导入的DLL。参考文献=>导入的命名空间

答案 2 :(得分:0)

重新编译网站然后发布。有时它会起作用。