我在/ root / dnn服务器上有dotnetnuke门户网站,我在c#VS2008中创建了我需要在/ root / app上传的asp.net应用程序。
当我部署我的应用程序时,它需要从/ root / dnn / bin而不是/ root / app / bin引用dotnetnuke.dll程序集。
如何在不将应用程序文件放入/ root / dnn?
的情况下管理它我尝试设置自动刷新路径,然后在上传后删除/root/app/bin/dotnetnuke.dll,以便应用程序尝试引用../dnn/bin/dotnetnuke.dll中缺少的程序集但是“应用程序未预编译”错误弹出,所以我尝试上传它而不进行预编译,但仍无法找到引用。
答案 0 :(得分:2)
为什么不给你的应用程序自己的副本?这将解决所有问题...
换句话说,为什么跨应用程序引用?它违反了IIS和ASP.NET的所有安全机制
答案 1 :(得分:2)
正如紫蚂蚁上面所说,
您正在考虑的是配置文件的<probing privatePath="" />
元素。但我认为它不适用于网络应用程序,并且(根据文档)仅适用于子文件夹。
<configuration>
<runtime>
<assemblyBinding>
<probing privatePath="bin;bin2\subbin;bin3"/>
</assemblyBinding>
</runtime>
</configuration>
答案 2 :(得分:0)
毕竟,我必须在dnn的bin文件夹中的portal文件夹和bin文件中上传.aspx和.aspx.cs文件,将我的web.config中的几行添加到dnn的web.config中,并将查询更改为数据库使用数据集对象(即.xsd,.xss文件)从代码中编写它们。我还必须在上传之前将我的App_Code中的代码复制到我的.cs文件中,因为C#和VS无法在dnn的App_Code中一起编译。
答案 3 :(得分:0)
我认为您最好的选择是将DotNetNuke.dll安装到服务器上的GAC中。我不相信ASP.NET / IIS会允许访问当前网站文件夹结构之外的任何程序集。