C# 在添加MVC3视图后,如何避免不必要的dll重新编译?

C# 在添加MVC3视图后,如何避免不必要的dll重新编译?,c#,visual-studio-2010,asp.net-mvc-3,publish,C#,Visual Studio 2010,Asp.net Mvc 3,Publish,我有一个带有视图文件夹层次结构的Asp.net MVC3客户门户应用程序,它允许我通过将新的razor视图放入视图/自定义文件夹来为每个客户打上烙印。例如,这将允许我为客户“Acme”创建自定义包装和登录页: 我遇到的问题是,创建自定义视图比修改应用程序的控制器要常见得多。但是,当我在自定义目录下添加一个新视图并发布我的更改时,应用程序的DLL正在重建 我的生产服务器上的卷影副本有问题,当我部署新的DLL时,必须关闭整个站点(这是一个单独的问题,但我现在不得不辞职以避免这个问题) 有没有办法告诉

我有一个带有视图文件夹层次结构的Asp.net MVC3客户门户应用程序,它允许我通过将新的razor视图放入视图/自定义文件夹来为每个客户打上烙印。例如,这将允许我为客户“Acme”创建自定义包装和登录页:

我遇到的问题是,创建自定义视图比修改应用程序的控制器要常见得多。但是,当我在自定义目录下添加一个新视图并发布我的更改时,应用程序的DLL正在重建

我的生产服务器上的卷影副本有问题,当我部署新的DLL时,必须关闭整个站点(这是一个单独的问题,但我现在不得不辞职以避免这个问题)

有没有办法告诉VisualStudio2010,添加文件夹和razor模板不需要重新编译DLL?自定义文件夹的命名空间提供程序设置为True,并且每个子目录中的Razor模板都标记为内容,不复制


这可能会对您有所帮助,它还演示了如何在MSBUild@DavidMartin中执行此操作。我知道如何执行发布。这不是我遇到的问题。问题是它在没有编译代码被更改的情况下重新编译DLL。我理解你的问题,pubilsh总是重新编译,我不知道如何避免这一点,这就是为什么我没有把我的评论作为答案,只是因为它没有直接回答你的问题。但是,链接问题的答案表明您可以复制文件而不是发布,或者只发布命名文件,这两种方法都会跳过已重新编译的文件。@DavidMartin但如果我更改现有xml模板,它不会重新编译DLL。我已将发布设置配置为
用本地副本替换匹配的文件
。这可能会对您有所帮助,它还演示了如何在MSBUild@DavidMartin中执行此操作。我知道如何执行发布。这不是我遇到的问题。问题是它在没有编译代码被更改的情况下重新编译DLL。我理解你的问题,pubilsh总是重新编译,我不知道如何避免这一点,这就是为什么我没有把我的评论作为答案,只是因为它没有直接回答你的问题。但是,链接问题的答案表明您可以复制文件而不是发布,或者只发布命名文件,这两种方法都会跳过已重新编译的文件。@DavidMartin但如果我更改现有xml模板,它不会重新编译DLL。我已将发布设置配置为
用本地副本替换匹配的文件
Views/Custom/Acme/Shared/_Layout.cshtml
Views/Custom/Acme/Home/Index.cshtml