0

我有一个连接到 OleDb 的 WinForm。虽然项目(在 Visual Studio 2010 中)已打开,但我单击了新菜单并说Add New Web Site现在问题是我有一个在添加网站之前创建的类 - 但code-behind文件无法获取该命名空间或类示例:(注意两个项目都在同一个解决方案中)

namespace Name
{
    //Code From The Original Project before Adding The WebSite
    class DataAccessObject
    {
        private ...;
        private ...;
    }
}

  public partial class Candidate : System.Web.UI.Page
  {
     ...
     ...
     ...
     DataAccessObject dao = new DataAccessObject();
  }

项目的 WebSite 部分甚至没有拾取 NameSpace -

我也试过

  public partial class Candidate : System.Web.UI.Page
  {
     ...
     ...
     ...
     Name.DataAccessObject dao = new DataAccessObject();
  }

编辑

这背后的整个想法是用户可以随意在winForms和Web之间切换,因此需要传递DataAccessObject。

注意这是我第一次进入 ASP(.NET) 的世界

任何建议

4

1 回答 1

1

我假设该类在 WinForms 项目中。据我所知,您不能从 ASP.NET 网站添加对 WinForms 应用程序的引用。(不过,我可能错了。)

在项目之间共享类的通常模式是将类放在单独的类库项目中。然后,从 WinForms 应用程序和 ASP.NET 网站,您可以添加对项目(如果项目在同一个解决方案中)或类库项目生成的已编译 .dll 的引用。

确保该类声明为 Public,并且您需要在 Visual Studio 中添加引用。

从技术上讲,您可以从类库项目中创建一个 .dll 并将其简单地复制到网站的 \bin 目录中,但根据经验,最好将它们放在同一个解决方案中并添加项目引用。这保证了网站始终具有最新版本的 .dll。

这里有一个walk-though和另一个相关的、有用的文章here

于 2012-05-18T18:32:58.430 回答