C# 在同一解决方案中为大约20个项目配置共享输出目录

C# 在同一解决方案中为大约20个项目配置共享输出目录,c#,asp.net,.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,.net,Asp.net Mvc,Asp.net Mvc 4,使用C#.NET MVC4 Web应用程序-我正在尝试优化解决方案的构建时间。现在,重建包含MVC web项目和web应用程序引用的15个库项目的解决方案大约需要5分钟。一些库项目引用了我们管理的其他库项目以及第三方DLL,如Autofac和Automapper 所有项目(web应用程序、库、单元和集成测试)的每个参考都有CopyLocal=False。所有项目都将其输出目录设置为。\bin\,该文件夹位于解决方案的根目录下(单个项目之外) 执行解决方案重建不会出错。但是,当我使用F5(调试>启

使用C#.NET MVC4 Web应用程序-我正在尝试优化解决方案的构建时间。现在,重建包含MVC web项目和web应用程序引用的15个库项目的解决方案大约需要5分钟。一些库项目引用了我们管理的其他库项目以及第三方DLL,如Autofac和Automapper

所有项目(web应用程序、库、单元和集成测试)的每个参考都有
CopyLocal=False
。所有项目都将其输出目录设置为
。\bin\
,该文件夹位于解决方案的根目录下(单个项目之外)

执行解决方案重建不会出错。但是,当我使用F5(调试>启动调试)启动启动应用程序(MVCWeb应用程序)时,我得到以下编译错误

警告:C:\tfs\src\fosm\MvcApp\Global.asax:ASP.NET运行时错误:没有为扩展名“.asax”注册生成提供程序。您可以在machine.config或web.config的部分中注册一个。确保is具有BuildProviderApplicationsToAttribute属性,该属性包含值“Web”或“All”

错误:无法加载类型“MvcApp.Global”。C:\temp\global.asax

这是我的Global.asax

<%@ Application Codebehind="Global.asax.cs" Inherits="MvcApp.Global" Language="C#" %>

我如何解决这个问题?我一直在阅读的所有推荐使用共享bin文件夹的资源都提到“大多数”引用需要设置为
CopyLocal=False
,但它们没有详细说明如何识别或列出应该保留为
CopyLocal=True
的引用

下面是我用来设置共享bin文件夹以缩短构建时间的一些资源

's-blog/2014/05/16/如何在visual studio中加快解决方案的构建


不要按F5,您不需要按。而是在本地安装IIS。设置网站并将IIS物理路径直接从代码映射到项目文件夹。您可能需要将应用程序池用户添加到项目文件夹的NTFS权限中。从项目文件夹在IIS中加载站点后,只需将调试器(ctrl+alt+p)附加到w3wp.exe即可。要测试代码更改,只需构建一个更改的dll,应用程序池将自动循环,或在检测到bin更改时实时重新加载dll。由于我开始使用IIS进行调试,我不再使用f5或IIS express。。。使用F5和IIS Express对于小型项目非常有效,但对于大型项目来说速度非常慢,IIS更适合大型项目。此外,如果您有多个web应用程序,请将应用程序池用户保留为应用程序池标识。这样您就知道要附加到哪个w3wp.exe。用户将“App Pool\AppPoolNameHere”阅读此内容。还有,为什么
CopyLocal=False
。重点是什么?只是不要复制本地框架DLL。删除项目引用-执行dll引用。我觉得你建的项目太多了。将web项目分离到不同的解决方案中。