C# 如何发布带有区域的asp.net mvc 4应用程序?

C# 如何发布带有区域的asp.net mvc 4应用程序?,c#,asp.net-mvc-4,visual-studio-2013,msdeploy,asp.net-mvc-areas,C#,Asp.net Mvc 4,Visual Studio 2013,Msdeploy,Asp.net Mvc Areas,我有一个asp.net mvc 4应用程序,它有多个区域设置。但是,此应用程序使用多个项目组成此区域,以便在解决方案中遵循n层。这些独立项目的输出路径被设置为主mvc应用程序的bin文件夹,该文件夹工作正常 当我将此主应用程序作为目标发布到文件系统上时,在目录中创建的Areas文件夹只包含HelpPage文件夹内容,而没有area文件夹 我想知道如何将他们的资源(如视图、.config文件、脚本、内容等)添加到发布时的区域文件夹中 目前,我正在使用bat文件进行此操作,我认为这是不合适的。我已经

我有一个asp.net mvc 4应用程序,它有多个区域设置。但是,此应用程序使用多个项目组成此区域,以便在解决方案中遵循n层。这些独立项目的输出路径被设置为主mvc应用程序的bin文件夹,该文件夹工作正常

当我将此主应用程序作为目标发布到文件系统上时,在目录中创建的Areas文件夹只包含HelpPage文件夹内容,而没有area文件夹

我想知道如何将他们的资源(如视图、.config文件、脚本、内容等)添加到发布时的区域文件夹中


目前,我正在使用bat文件进行此操作,我认为这是不合适的。我已经阅读了有关使用[ProjectName].wpp.targets在发布时包含文件的内容。任何人都可以建议如何包含项目中未包含的文件夹,在此上下文中的不同区域。

我们使用与您提供的博客文章相同的项目设置。在本例中,我们最终添加了[ProjectName].wpp.target,内容如下

<Target Name="CopyCustomFiles" AfterTargets="CopyAllFilesToSingleFolderForPackage" >   
     <ItemGroup> 
         <Areas Include="$(ProjectDir)Areas\*\Content\**;$(ProjectDir)Areas\*\Images\**;$(ProjectDir)Areas\*\Scripts\**;$(ProjectDir)Areas\*\Views\**;$(ProjectDir)Areas\*\web.config;$(ProjectDir)Areas\*\*.xml"  />
        </ItemGroup>

      <Copy SourceFiles="@(Areas)" DestinationFiles="@(Areas->'$(_PackageTempDir)\areas\%(ToPath)\%(RecursiveDir)%(Filename)%(Extension)')" />

</Target>


有一个bat文件,就像你的一样也可以…

我们处理相同的问题,但我们会将区域中的各个视图复制到另一个具有相同区域名称的文件夹中,在部署时,M V C都存在于该文件夹中。我在wpp.targets文件中尝试了上面的目标元素,但使用发布方法作为web deploy包对我不起作用。我已将其粘贴到项目元素下。还有什么我需要包括的吗?不,那是我唯一相信的。尝试从命令提示符下运行发布并增加msbuild的详细程度,以查看发生了什么,它将告诉您将执行哪些目标。尝试添加CreatePackageOnPublish=True;看看这会不会有什么不同