我有一个asp.net网站项目。我需要使用几个自定义的dll,我无法将其复制到bin目录中。
我尝试创建一个自定义bin文件夹,并将Global.asax中的Application_Start PrivateBinPath设置为该目录
void Application_Start(object sender, EventArgs e) { AppDomain.CurrentDomain.SetupInformation.PrivateBinPath = Server.MapPath("~/my_DLLS"); }
然后在我的.cs文件中使用using语句来包含该dll但我得到了 编译器错误消息:CS0246:找不到类型或命名空间名称“DLLNAME”(您是否缺少using指令或程序集引用?)
我还尝试在web.config中添加assemblyBinding
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <probing privatePath="my_DLLS" /> </assemblyBinding> </runtime>
我觉得我错过了什么。
答案 0 :(得分:0)
一些想法
确保您的私有bin路径位于应用程序根目录下(您的代码表明它是 - 但只是确认)
私有bin dll是否具有私有bin中不存在的依赖
您可以使用fusion log viewer检查应用中dll的绑定。这应该表明是否有约束
检查专用bin文件夹的权限。用锤子击打它,并为每个人提供该文件夹的完全权限。看看是否会提起它
作为临时措施 - 将私有bin文件夹作为bin目录下的子目录。那现在有效吗?如果确实有效,那可能是一个永久的解决方案。可能不是你的好人
对于类似的问题,这是一个很好的答案 - 有一个很好的图表,你可能会觉得有用
How do I reference assemblies outside the bin folder in an ASP.net application?
当然祝你好运