ASP.NET应用程序未在bin文件夹中查找DLL

时间:2016-03-01 18:09:58

标签: c# asp.net .net-4.0 asp.net-4.0

我正在维护一个完全用ASP经典编写的网站。我正在使用ASP.NET添加一些新的集成,但遇到了一些麻烦。

我的应用程序在Visual Studio中运行100%,但是当我发布它时,我收到了这个错误:

Parser Error Message: Could not load type 'Int.OAuth'

Source Error:
    Line 1:  <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="OAuth.aspx.cs" Inherits="Int.OAuth" %>

该行来自OAuth.aspx

Visual Studio将bin文件夹正确放入包含.aspx文件的文件夹中,并且它包含所有.dll,但似乎ASP.NET无法找到它们。这可能是因为我的应用程序不在站点根目录吗?我的应用程序位于:/ADMIN/api/services/int/

我尝试过的事情:

1。尝试将bin文件夹添加到装配绑定中。

我在网上看到很多来源说要告诉ASP.NET有关DLL的文件夹,你可以将它添加到你的web.config中:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <probing privatePath="bin/" />
  </assemblyBinding>
</runtime>

我尝试使用相对路径和绝对路径,并仔细检查路径,但这没有任何影响。

2。尝试使用CodeFile=代替CodeBehind=

在线资讯还建议改变:

<%@ Page Language="C#" AutoEventWireup="true"
    CodeBehind="OAuth.aspx.cs" Inherits="RqQb.OAuth" %>

<%@ Page Language="C#" AutoEventWireup="true"
    CodeFile="OAuth.aspx.cs" Inherits="RqQb.OAuth" %>

这很不方便,因为Visual Studio在发布时不会上传aspx.cs文件,因此每次进行更改时都必须手动执行此操作。

但它仍然没有解决问题。然后using中的OAuth.aspx.cs语句开始出错。这些是外部库,都在bin文件夹中,但显然没有找到。

第3。尝试将输出路径更改为/bin

好吧,这似乎不会改变任何东西,因为它在localhost上的Visual Studio中运行得很好,但是它会在发布时中断(并且所有的DLL都在bin文件夹中正确)但是我检查无论如何,Build -> Output path已正确设置为bin\

4。尝试重新启动visual studio,停止localhost,清理,重建然后再次发布。

没有改变任何东西。

对于那个总是问的聪明的aleck:我的问题是我有错误,所以我的问题是如何摆脱这个错误?

0 个答案:

没有答案