2013-02-20 63 views
1

我在根目录下的同一个webserver上有3个不同的网站。很多代码在所有3个网站中都是相同的。C#通过将代码移到网站外的文件夹跨多个网站共享代码

我想看看是否有来自所有3个网站的移动代码上一级根目录(其中每个网站的文件夹包含(网站本身之外)的方式。

EX。该根目录是c:\(我想将文件移动到每个单独的网站并访问它们,网站本身包含在c:\ Website1,c:\ Website2等中)

所以有可能移动代码从c:\ Website1到c:\并从c:\在c:\ Website1网站中访问它?

如果您需要更多详细信息或者我不清楚我知道。

谢谢。

+0

创建一个dll并将其放入GAC? – CAbbott 2013-02-20 15:14:20

+1

如何在一个dll中设计精良的BusinessLogic? (每个网站都可以参考这个,并调用相同的代码..) – 2013-02-20 15:14:22

+0

@PilgerstorferFranz并用相对路径引用它,以“.. \ .. \ ..”的方式增加所需的级别数量 – dutzu 2013-02-20 15:14:53

回答

2

我建议把库DLL在GAC

想一想:如果您需要更新库DLL以支持一个站点的新功能,但是这会引入与其他站点的不兼容问题? GAC支持相同程序集的多个版本,因此如果需要,您可以单独更新网站。

+0

DLL的问题是我们无法访问QA和PROD服务器来在这些机器上注册DLL。 所以,如果我们可以在c:\创建一个名为“SharedCode”的文件夹或其他东西,并引用.cs文件和控件,那就太棒了。 该DLL可用于.cs文件,但不适用于控件(以及一些其他非.cs文件的文件) – Brad 2013-02-20 16:15:07

+0

如何用更改更新QA和PROD服务器?你有安装程序或其他批处理安装网站代码?如果是这样,那么安装程序或批处理应该有权访问GAC。 – 2013-02-20 16:33:07

+0

如果您无法访问这些服务器,那么应​​该有责任为您的Prod/QA维护人员安排所需工作的安装程序,或向这些人员提供有关如何使用[GACUTIL]的指示信息(http: //msdn.microsoft.com/en-us/library/ex0ss12c(v=vs.80).aspx)。 – 2013-02-20 17:19:58

0

取决于你想要完成把它们放在一个dll里面可能会做的。我会建议将这些文件夹:c:\libs\,然后你可以通过访问:..\libs\