你能从类库中调用visual studio网站项目中的一个类吗?

时间:2016-07-31 06:32:42

标签: c# visual-studio-2013 visual-studio-2015 web-site-project

我正在创建一个新的VS2015 Web应用程序,但是有一个部分需要一些已存在于另一个系统中的报告。

另一个系统是一个VS2013解决方案,它有一个网站(不是网络应用程序)作为它的主要项目,还有许多类库。但是网站直接包含一堆做报告和其他事情的类,我宁愿使用它们而不是重新创建所有(非常复杂的)代码。

有没有办法从另一个项目或类库中引用网站中的类?这是我正在维护的一个相当大的旧应用程序,如果我不需要,我宁愿不尝试将所有功能提取到它自己的类库中。

如果这些类已经在一个单独的类库中,我可以很容易地引用它们,但不幸的是它们在网站上是正确的,我找不到任何关于能够链接到它的信息(大概是因为你可以“T)。

这是一个示例结构:

MySolution
    MyNewClassLibrary
        MyClass
        {
            MyReportFunction()
            {
                var x = new ReportClass();  // From website project
                x.CreateReportFunction();
            }
        }

OldSolution
    WebsiteProject
        ReportClass
        {
            CreateReportFunction()
            {
                // All the code I'd like to access
            ]
        }

这可能吗?或者我有很多重写要做?或者考虑将网站转换为网络应用程序是一个更好的主意?

2 个答案:

答案 0 :(得分:2)

您可以将这些现有类作为链接类添加到解决方案中。

将现有项目添加到项目

  1. 在“解决方案资源管理器”中,选择目标项目。
  2. 在“项目”菜单上,选择“添加现有项目”。
  3. 在“添加现有项”对话框中,找到并选择要添加的项目项。
  4. 从“打开”按钮下拉列表中,选择“添加为链接”。
  5. enter image description here

    您还可以阅读更多详情here

答案 1 :(得分:0)

如果其他人正在寻找类似的东西,答案是否定的,这是不可能的。

我最终把所有的功能都放到了一个新的类库项目中,这个项目需要进行大量的测试才能确保我得到所有的小部件。

故事的道德 - 第一次正确构建软件,并将功能拉入可重用对象。不要用面向对象的语言进行过程式编程。