Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DLL文件应放在.NET web应用程序中的何处_C#_Asp.net_.net_Dll_Sqlhelper - Fatal编程技术网

C# DLL文件应放在.NET web应用程序中的何处

C# DLL文件应放在.NET web应用程序中的何处,c#,asp.net,.net,dll,sqlhelper,C#,Asp.net,.net,Dll,Sqlhelper,在一个C#ASP.NET Web应用程序中,我在构建它时将Web应用程序放在顶部,然后是处理业务层和数据访问层的多个项目。我有一个包含SQL Helper的DLL文件。应该放在Web应用程序的bin中,或者我在Web应用程序根目录中创建的名为“lib”的文件夹中 最后,由于它是一个处理数据访问的DLL,我应该将它放在包含将引用该DLL的数据层类的项目中吗?如果我这样做,我应该如何将它放在该项目中(类型类库) 感谢所有注意事项。如果在web解决方案文件夹外有一个名为Assembly的文件夹,请将此

在一个C#ASP.NET Web应用程序中,我在构建它时将Web应用程序放在顶部,然后是处理业务层和数据访问层的多个项目。我有一个包含SQL Helper的DLL文件。应该放在Web应用程序的bin中,或者我在Web应用程序根目录中创建的名为“lib”的文件夹中

最后,由于它是一个处理数据访问的DLL,我应该将它放在包含将引用该DLL的数据层类的项目中吗?如果我这样做,我应该如何将它放在该项目中(类型类库)


感谢所有注意事项。

如果在web解决方案文件夹外有一个名为Assembly的文件夹,请将此文件夹用作DLL的中央存储库。将解决方案建筑中的所有项目都放到该文件夹中,并在解决方案中创建对该文件夹中DLL的引用。它将有助于部署和DLL版本管理。与使用ASP.NET应用程序在\bin文件夹中查找DLL相比,我更喜欢这样做,因此您可以将任何DLL放在其中。但是,如果DLL在多个应用程序之间共享,那么在GAC中安装是有意义的

(您可能需要单击解决方案资源管理器顶部的“显示所有文件”按钮以查看\bin文件夹)


正如@Paul Zahra所说,我更喜欢\bin解决方案而不是GAC,因为您可以根据自己的需求进行XCOPY部署。

1。引用dll,或者,如果dll是解决方案中的项目,则引用该项目。2.复制到输出=真。3.不用担心。我不能在web解决方案之外有一个文件夹,因为当我部署到一个单独的组时,他们总是需要在一个独立的包中包含整个解决方案。您不能在包中包含程序集文件夹吗?否则,如果您仅在该解决方案中使用DLL,请将程序集文件夹放在解决方案文件夹的顶层,这样您部署的解决方案就开始变得凌乱,而在解决方案的同一级别上放一个文件夹就很好了