如何用.cs文件替换DLL文件?

时间:2013-11-20 09:12:06

标签: c# asp.net

我正在为大型系统开发子应用程序。

有一家公司X创建了该系统。子应用程序由许多小公司创建,包括我工作的公司。

我们的应用程序即将完成,但有一项新要求,即我们的应用程序不得使用DLL文件,并且所有业务逻辑都应包含在.cs文件中。

为什么会有这样的要求? X公司相信它可以解决拥有太多DLL和依赖性问题的问题。由于许多子应用程序和许多不同的公司都在创建它们,因此/ bin目录和依赖项问题都会出现问题。

主要问题是许多子应用程序是相互关联的。使用面向服务的体系结构。

我知道这是一个架构问题。而且要求也来得太晚了。


我是开发人员。

更具体地说我的问题: 对于ascx.cs文件来说很简单,我可以从CodeBehind切换到CodeFile。这里没问题。

我们的图书馆存在问题。显然,我可以只复制服务器上所有相应的.cs文件,但是如何让应用程序从那里加载类而不是使用DLL库?

我从未实现过不使用DLL的asp.net网站,我不清楚我的选择是什么。

我一直在读: How to load a class from a .cs file

我希望我已经很好地解释了我的情况。

2 个答案:

答案 0 :(得分:5)

X公司无疑有人领导曾经存在依赖性问题的开发人员。他们现在已经决定以实际汇编形式存在的任何和所有依赖都是坏的(我想我们在某些时候都有这样的经理)。

事实是:这是不可能的。这是一个愚蠢的要求,让你的生活变得更加困难。

我可以看到两个选项。

1)将所有(希望)很好地解耦的程序集及其良好的业务逻辑移除到文件后面的代码中。这很悲惨......但是一个选择。

2)继续探索从源文件中编译代码的路径。这为你提供了大量的额外开发时间......老实说,你可能最终会放弃。

为自己省去一些麻烦,只需在USB上提供完整的源代码即可。

对不起,如果这听起来很刺耳。我不羡慕你。

答案 1 :(得分:2)

提供将源代码许可给他们但价格远高于二进制文件。源代码具有更多的内在价值,因为它是您的知识产权。

还要注意公司X可以使用例如ILSpy将您的二进制文件反编译为源代码。你信他们多少不这样做?