Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
复杂的ASP.NET web应用程序和nant_Asp.net_Visual Studio 2008_Build Process - Fatal编程技术网

复杂的ASP.NET web应用程序和nant

复杂的ASP.NET web应用程序和nant,asp.net,visual-studio-2008,build-process,Asp.net,Visual Studio 2008,Build Process,在一个内部网上工作,我们有大约20个不同的web应用程序-一些是.net,一些是经典的asp 目前,每个.net应用程序都有自己的解决方案。这样做有好处——我们可以只构建和部署一个应用程序,而不影响其他应用程序,并且所有应用程序共享一个会话——但我们不能使用母版页,使用本地化资源、共享css和js等确实存在挑战。构建和部署完全是手动完成的,这是一个真正的问题 我正在尝试建立一个结构,使我们能够利用VS2008的功能,但仍然能够在不影响其他应用的情况下更新一个应用,同时仍然使用母版页和本地化资源等

在一个内部网上工作,我们有大约20个不同的web应用程序-一些是.net,一些是经典的asp

目前,每个.net应用程序都有自己的解决方案。这样做有好处——我们可以只构建和部署一个应用程序,而不影响其他应用程序,并且所有应用程序共享一个会话——但我们不能使用母版页,使用本地化资源、共享css和js等确实存在挑战。构建和部署完全是手动完成的,这是一个真正的问题

我正在尝试建立一个结构,使我们能够利用VS2008的功能,但仍然能够在不影响其他应用的情况下更新一个应用,同时仍然使用母版页和本地化资源等功能,并在应用之间共享会话(因此我们无法为每个应用设置虚拟目录)

如果我设置的单个解决方案如下所示:

/Root - App_GlobalResources/ - shared -- masterpages/ -- css/ - App1/ - App2/ ... - AppN/ .. - ClassicASP1/ /根 -App_全球资源/ -共享 --母版/ --css/ -附件1/ -附件2/ ... -AppN/ .. -经典casp1/ 然后问题是构建只生成一个DLL(Root.DLL)——这将无法扩展到20多个应用程序,所有这些应用程序都有不同的开发周期

是否可以(使用nant或其他构建工具)构建多个DLL?在本例中,我希望以Root.dll(至少包含全局资源)以及App1.dll和App2.dll结束


我还需要看其他建议或参考资料吗?

很遗憾,我不确定你能做你想做的事。VS倾向于为每个唯一的项目创建一个DLL(而不是解决方案),并且看起来您只有一个项目,因此,只有一个DLL

我建议您为每个应用程序保留一个项目(csproj),但使用NANT构建所有项目(即,一次一个,按顺序一起构建),并将它们打包以供部署。这样,您可以进行单点部署,但仍保持应用程序的独立性

我很惊讶你不能在子文件夹中使用母版页。您需要为每个AppN文件夹复制它们,但在构建部署包时,可以使用-NANT从公共位置将它们拉入


编写一个构建和部署脚本需要一段时间才能正确,但我发现一旦完成,它会很快得到回报——即使唯一的回报是你的理智

这个问题有一个解决方案。简言之,它需要创建一个Web站点项目(可以有母版页之类的内容)和几个子目录,每个子目录都包含一个Web项目。在主web项目中,从项目中排除子曲面。然后将项目文件添加到解决方案中。这个(更新的)告诉你一切


-Edoode

我建议使用MSBuild而不是Nant。它更适合visual studio。

感谢您的链接,但该解决方案仅适用于在IIS下作为单个应用程序运行多个应用程序,并且似乎仅适用于1.1。我们试图解决的问题是,有多个web应用程序共享公共母版页、本地化资源等,这在该链接中没有解决。嗯,你说得对。我已经更新了链接。该页面描述了我的子项目(工作)设置。为什么?你对两者都有经验吗?问题是VS不允许我做我需要做的事情,所以找到另一个可能忽略VS惯例的产品可能是一件好事。