【问题标题】:alternative for web deployment projects in VS 2011VS 2011 中 Web 部署项目的替代方案
【发布时间】:2012-05-19 19:51:06
【问题描述】:

我正在尝试找出在 VS2011 中使用 Web 部署项目的替代方法,因为它们似乎不再受支持。

我们有许多项目,我们使用它们在不同的项目之间共享 .ascx 组件。 现在推荐的方法是什么?

【问题讨论】:

    标签: asp.net .net visual-studio webforms asp.net-4.5


    【解决方案1】:

    我们正在使用非常直接的 MsBuild 来做一些事情。秘密是一个名为 _CopyWebApplication 的隐藏目标——它实际上将构建的 Web 应用程序等复制到一个文件夹中。

    我不知道为什么这种有用的东西被隐藏和无证。

    【讨论】:

    • 如果你使用 _WPPCopyWebApplication 而不是 _CopyWebApplication,如果你使用那些东西,你也会得到所有 web.config 转换的好处。
    • @Wyatt:你说的是 VS2011 还是 VS2010。基于msdn.microsoft.com/en-us/library/…,asp.net 编译器应该包含在.NET 4.5 中,但是我不知道VS2011 中会提供什么级别的支持(目前没有)。
    • 在 VS11 for Web Application Project 中,我们在 Package/Publish Web 下的属性页面中添加了对预编译的支持。仅供参考,在 VS11 中,我们还简化了自动化发布。如果要将项目发布到文件夹,请创建一个新的发布配置文件并为其命名,例如 ToLocal,然后从 cmd 行:msbuild.exe MyWap.csproj /p:DeployOnBuild=true /p:PublishProfile=ToLocal。我会在博客上讨论这个。
    • @matra -- .NET 2.0 +,与 Visual Studio 无关。如果您的部署需要 Visual Studio,那么您做错了。
    • @WyattBarnett 在我的评论中,我描述了如何从命令行发布。此外,你的“你做错了”的 cmets 并没有在这里增加任何价值。仅仅因为你以某种方式做某事并不意味着你做对了。
    【解决方案2】:

    我们尚未最终确定 VS 11 的 Web 部署项目计划。我们将在下周努力最终确定这些计划。如果您有一个特定的场景想要解除阻止,我可以尝试帮助您。请随时通过 sayedha {at}[microsoft{dotcom} 向我发送电子邮件。

    【讨论】:

    • 总是很高兴看到供应商在这里回答问题。谢谢
    • 我们也在类似的场景中使用 Web 部署项目(将所有 ASP/ASCX 文件编译成单个程序集,然后在项目之间共享)。这比共享一堆内容文件要容易得多。
    • Matra,您使用的是 Web 应用程序项目还是网站项目?
    • 我们正在使用 Web 应用程序项目。它包含 ASCX 以及我们希望与其他项目共享的组件的 CS 文件背后的代码。文件背后的代码在 DLL 中编译。然后我们使用 Web Depl 项目(对于第一个项目)从 ASCX 文件创建类并将它们编译成单个 DLL。因此,获取 2 个 DLLS(第一个由 Web 应用程序项目创建,第二个由 Web 部署项目创建)。这两个 DLL 是与其他项目共享用户控件所需的全部内容。这比在每个目标项目中复制/链接这些文件要容易得多..
    • @matra 在 VS 11 中,我们内置了 ASP.NET 编译器/合并到 Web 应用程序项目中。您可以在 Package/Publish Web 选项卡下对其进行配置。然后,当您打包/发布时(在您的情况下,您可以发布到本地目录)。您可以尝试一下,让我知道它是否适合您的需求,还是您仍然需要 Web 部署项目?
    猜你喜欢
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    相关资源
    最近更新 更多