一个asp.net Web应用程序,具有多个项目,可以作为一个团队开发,轻松更新!

时间:2011-04-13 22:47:11

标签: c# .net asp.net iis-7 gac

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

我在visual studio中使用过Web应用程序项目 并在一个dll中编译一个项目中的应用程序的每个部分。

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

我想在运行bin文件夹外的网站或多个bin文件夹 但未能成功

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

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

如此友好,如果这里的任何人对我有建议

更新

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

更新2

感谢您的评论,并根据这一点; 拆分项目可以在IIS7内的虚拟应用程序中工作,每个虚拟应用程序都可以使用自己的bin,但每个虚拟应用程序(项目)只有usercontrols,我们正在使用urlrewrite,所以加载usercontrol和url时不包含virsual应用程序路径,它所需的bin来自root而不是来自虚拟应用程序

我的问候

2 个答案:

答案 0 :(得分:2)

听起来我觉得你们正在开发一台中央服务器,这将是我的第一条建议:

Each developer develops against a local dev server, not production

使用某种分布式源代码控制(MercurialGit),允许开发团队轻松提交和分支。

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

<强>更新

这听起来像是虚拟应用程序主机名,并且可以编辑主机文件可能帮助。试试这个:

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

    127.0.0.1       www.myapp.localdev
    

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

答案 1 :(得分:0)

听起来您需要源代码控制和本地开发人员实例的组合。

你要做的事情与其他人的做法没有什么不同。大多数人都这样做:

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

这是一篇引用git:Introduction to Git and practical usage patterns

的帖子

2)所有开发人员都需要本地实例。 Visual Studio可以自己承载ASP.NET项目。您也可以安装IIS(如果需要,还可以安装SQL Server)。它的设置和使用非常简单。

您可以在此处找到有关如何在IIS中使用Visual Studio的说明:http://learn.iis.net/page.aspx/387/using-visual-studio-2008-with-iis-7/

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