【问题标题】:Can't use .cs file in a view in already compiled app无法在已编译应用程序的视图中使用 .cs 文件
【发布时间】:2015-11-28 12:33:22
【问题描述】:

我有一个已编译的应用程序,只想在其中一个视图中包含一个类并使用它的方法。

此应用已编译,我无权访问其源代码。我将我的类包含在 Views 文件夹中,给它一个命名空间,然后尝试通过 @using my.namespace.here; 包含它,但它不起作用。

那么如何在视图中包含 .cs 文件?

【问题讨论】:

  • 当说“视图”时,您指的是 MVC 应用程序的 Razor 视图吗?另外,“已编译的应用程序”是什么意思?它是您想在项目中使用的 DLL 库吗?尝试添加更多标签(如 aspnet-mvc),因为 c# 太通用了。
  • 尝试用你的类MyClass创建一个程序集MyAssembly.dll,然后在视图中使用var myAss = Assembly.Load("MyAssembly"); var myClass = myAss.GetType("MyClass"); dynamic myInstance = Activator.CreateInstance(myClass);。如果编译视图,不确定这是否可行。
  • 只有在您拥有源代码或 dll 是在包含源代码的情况下编译的情况下。大多数编译的 dll 不使用包含源(调试信息)的选项。

标签: c# razor asp.net-mvc-5


【解决方案1】:

您可能希望在 DLL 库中使用外部代码。确实如此,您应该执行以下操作。

  1. 添加参考: 展开您的项目,右键单击引用,然后添加引用。在打开的窗口中单击浏览并选择要使用的 DLL。现在,当您在解决方案资源管理器中展开引用时,您应该会看到它。

  2. 在您的视图中添加@using

  3. 使用你想要的类和方法。

【讨论】:

  • using应该和dll文件中的命名空间一样吧?
  • 是的。另外这个DLL可以包含更多的命名空间,一定要使用正确的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多