我有一个使用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中的一些内容。
当我在开发机器上使用它时,它工作正常。但是,当我尝试在生产机器上调用使用任何引用代码的页面时,它不起作用。
道歉,我没有确切的错误消息,但它们基本上都是:
我做了一些搜索,但没有运气。
当我使用桌面应用程序和在开发机器的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
答案 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)
重新编译网站然后发布。有时它会起作用。