C# 一个asp.net web应用程序与多个项目作为一个团队开发,易于更新!

C# 一个asp.net web应用程序与多个项目作为一个团队开发,易于更新!,c#,.net,asp.net,iis-7,gac,C#,.net,Asp.net,Iis 7,Gac,我想设计一个asp.net应用程序,可以从多个项目中工作 我在VisualStudio中使用过web应用程序项目 并使一个项目中的应用程序的每个部分在一个dll中编译 问题是,如何在IIS中使用一种允许我和我的朋友(开发人员)在自己的项目中工作的方式,而不会在生成时停止或使其他人工作缓慢 因为构建将位于同一个bin中,以便在一个应用程序中全部工作 我想在网站外的run-bin文件夹或multi-bin文件夹中 但没有做到这一点 还想让它在IIS虚拟目录中为每个部分或应用程序使用自己的bin,但也

我想设计一个asp.net应用程序,可以从多个项目中工作

我在VisualStudio中使用过web应用程序项目 并使一个项目中的应用程序的每个部分在一个dll中编译

问题是,如何在IIS中使用一种允许我和我的朋友(开发人员)在自己的项目中工作的方式,而不会在生成时停止或使其他人工作缓慢 因为构建将位于同一个bin中,以便在一个应用程序中全部工作

我想在网站外的run-bin文件夹或multi-bin文件夹中 但没有做到这一点

还想让它在IIS虚拟目录中为每个部分或应用程序使用自己的bin,但也永远不要使用自己的bin文件夹,尤其是在将虚拟目录转换为应用程序时

我试图将dll添加到GAC,但我发现更新dll中存在问题,将导致重新启动所有iis,这将重新启动所有工作,因为我不希望

如果这里有人能给我一个建议

更新

我正在使用url重写,所以我正在从虚拟目录或应用程序加载usercontrols,而不是加载直接的aspx文件,并且在这样做时,不会在虚拟目录或应用程序中加载bin

更新2

谢谢你的评论,根据这一点; 拆分项目可能在IIS7内部的虚拟应用程序中工作,每个虚拟应用程序将使用其自己的bin,但每个虚拟应用程序(项目)仅具有usercontrol,并且我们正在使用urlrewrite,因此,当load usercontrol和url不包括虚拟应用程序路径时,其所需的bin来自根,而不是来自虚拟应用程序


我的问候

在我看来,你们都是在一台中央服务器上开发的,这是我的第一条建议:

Each developer develops against a local dev server, not production
使用某种分布式源代码管理(or),它允许开发团队轻松提交和分支

我会明确地建议您在开发时不要让您和您的朋友在您正在运行的服务器上乱搞。使用本地开发服务器进行开发,然后在准备推送时部署到生产环境

更新

它听起来像一个虚拟应用程序主机名,编辑到主机文件可能会有帮助。试试这个:

  • 在IIS中设置应用程序时,请为其指定主机名以及物理路径和名称。类似于www.myapp.localdev,通过这种方式,很明显您处于开发环境中
  • 如果在windows上工作,请打开\System32\drivers\etc\hosts并添加以下行:

    127.0.0.1       www.myapp.localdev
    

现在,对www.myapp.localdev的任何请求都将重定向到您的本地主机,该主机将使用您的本地IIS实例进行解析。由于您已使用此主机名配置了虚拟应用程序,因此您的应用程序应该侦听这些请求。除此之外,您还必须将应用程序配置为在本地运行,但这至少会让您走上这条路。

听起来您需要将源代码管理和本地开发人员实例结合起来

你想做的和其他人做的一样。大多数人都是这样做的:

1) 使用源代码管理。你可以试试git。您需要将源代码添加到git项目中,然后您的所有其他开发人员将能够保持同步。它将为您提供发生的每个更改的完整历史记录,您将能够返回到旧版本

以下是一篇关于git的文章:

2) 所有开发人员都需要本地实例。Visual Studio本身可以承载ASP.NET项目。您还可以安装IIS(如果需要,还可以安装SQL Server)。它很容易安装和使用

您可以在此处找到有关如何将Visual Studio与IIS一起使用的说明:


通过做这两件事,每个开发人员都可以独立工作。准备好后,将更改推送到生产服务器

您是否考虑过使用ASP.NET MVC,因为它内置了对区域的支持?我们正在使用vs2010,但仍有一些项目是为.NET framework 2.0构建的,我原以为它是web服务或WCF,但正如我将要更新的问题,每个项目都只有用户控件,并且仅在aspx页面上动态加载,因此,如果您有任何更多的信息可以帮助我在ASP.NET MVC中,谢谢告诉我,非常感谢您的评论我对ASP.NET MVC没有任何想法,请告诉我或链接,谢谢首先谢谢,我们正在使用的应用程序,都是用户控件,并且只在主项目的一个aspx页面中动态加载,没有人可以单独构建自己的项目他只能从主应用程序或主url进行测试,在save local server中工作,每个人都在他的usercontrols或project中工作,所以在这种情况下有什么办法可以做到这一点,谢谢again@BMTS没有人能够独自建造自己的项目?为什么不呢?开发人员需要能够独立地构建和测试他们的更改,以便能够高效地工作。每个人都可以正常构建自己的项目,但无法测试它,因为根本没有页面、所有用户控件和动态加载,那么,我怎样才能允许他们在没有原因的情况下,由于bin文件夹中的更改而为其他人重新启动应用程序呢reply@BMTU对于这种情况,我的想法是重写它,以便您可以在本地工作和测试。您没有理由不能这样做。@KG谢谢您的回复,我已经在使用URLEWRITE,但虚拟应用程序只包含usercontrol,当我加载usercontrol时,它是从根目录而不是从虚拟应用程序下的bin加载bin,并且可能是运行每个虚拟应用程序(项目)的解决方案从它自己的bin,但这是一个url重写问题,再次感谢。主要问题是不知道文件或最新版本的更新,问题是当一个生成将更改bin目录,然后将导致所有其他应用程序重新启动,以及