【问题标题】:ASP.NET page without code behind use other library / DLL没有代码的 ASP.NET 页面使用其他库/DLL
【发布时间】:2023-03-06 10:07:01
【问题描述】:

我正在向现有页面添加一个简单的 ASP.NET 页面(我现在无法更改/构建原始项目),该页面没有代码隐藏文件。一切都很好,除非我想使用我项目中另一个库中的某些功能。

例子

<%@ Page Language="C#"  %>
<%@ Import Namespace="MyProject.BusinessLogic" %>
<HTML>
   <script runat="server" language="C#">
   public void Page_Load(object sender, EventArgs e)
   {
      bool myBool = false;
      MyLabel.Text = myBool.ToString();  //works fine
      MyLabel.Text = MyProject.BusinessLogic.StatusManager.Get().ToString(); //does not work
   }
   </script>
   <body>
      <form id="MyForm" runat="server">
         <asp:label id="MyLabel" runat="server"></asp:label>
      </form>
   </body>
</HTML>

我得到的错误是 .. 命名空间“MyProject.BusinessLogic”中不存在(您是否缺少程序集引用?)

知道如何解决这个参考问题吗?

我尝试了这些选项:http://msdn.microsoft.com/en-us/library/d864zc1k(v=vs.85).aspx,但没有运气。

【问题讨论】:

  • 您说您使用了这些选项,但我在您发布的代码中没有看到尝试。发布包含正确引用但不起作用的实际代码。
  • 我已经用我尝试过的方法更新了我的代码。

标签: c# asp.net .net dll


【解决方案1】:

使用 来执行此操作...

<%@ Application Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Web.UI" %>

<script RunAt="server">


//here you can write your C# Code

 public void Page_Load(object sender, EventArgs e)
   {
      bool myBool = false;
      MyLabel.Text = myBool.ToString();  //works fine
      MyLabel.Text = MyProject.BusinessLogic.StatusManager.Get().ToString(); //does not work
   }



</script>

【讨论】:

    【解决方案2】:

    首先,您的项目必须在代码所在的另一个 dll 中引用程序集。这是通过“

    例如

    <%@ Assembly Name="SomeDll.NameHere.Dll" %>
    

    但是,请注意这里的名称是全类型名称。例如。该 Dll 必须位于要在其中使用它的应用程序的 BIN 目录中。您可以选择将 dll 安装在全局程序集缓存中,但随后您必须使用 SNK 文件为 dll 指定一个强名称(在类库项目设置)

    如果您在一个 Visual Studio 解决方案中有多个项目,则可以使用项目引用,然后引用 MyProject.BusinessLogic dll。当您构建您的网络应用程序时,它会自动将 dll 复制到 bin 目录中。

    现在也许您已经在项目中引用了 dll,但您的标记中仍然需要

    您可以选择使用 web.config 条目为 ASPX 引擎注册您的 dll。

    Register assembly in ASP.NET (VS 2005) and web.config

    【讨论】:

      猜你喜欢
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      • 1970-01-01
      相关资源
      最近更新 更多