Publish Web Site 时,大多数时候它会编译站点,然后简单地问我“目标文件夹中的所有文件都将被删除。继续吗?” (或类似-6ren">
gpt4 book ai didi

asp.net - 如何在 Visual Studio 2008 中使用 "Publish"函数而不删除目标文件夹的内容?

转载 作者:行者123 更新时间:2023-12-04 02:01:03 25 4
gpt4 key购买 nike

当我在 Visual Studio 2008 中使用 Build->Publish Web Site 时,大多数时候它会编译站点,然后简单地问我“目标文件夹中的所有文件都将被删除。继续吗?” (或类似的东西)。但是,有时,在 Visual Studio 中发布项目时,我会看到一个对话框,让我可以选择完全替换文件夹的内容,或者只是用较新的版本替换更改的文件。

我更喜欢在不完全删除文件夹的情况下发布,因为部署的应用程序会在使用时创建用户文件和缓存文件,我不想采取额外的步骤来保存。但是,我不确定为什么 Visual Studio 并不总是给我这个选项。这是我可以更改的设置吗?它是否与我正在使用的 .NET 版本相关联?

任何见解表示赞赏!

编辑 - 2009-01-20 的后续行动

我还没有弄清楚这一点,但这里有更多信息。

这是我的 Win XP 桌面上的一个 ASP.NET 项目的发布功能的样子:



这是我的 Vista 笔记本电脑上不同项目的样子:



请注意第二个屏幕截图中的单选按钮,允许我选择在发布之前删除文件夹的内容,或者仅覆盖匹配的文件。我希望每个项目都有这些选项。

两台计算机都运行 Visual Studio 2008 Professional(版本 9.0.30729.1 SP,根据 Help->About)。完全相同的版本。而且我怀疑操作系统差异导致了此功能更改。这一定是某个地方的设置,对吧?有人知道吗?

最佳答案

约翰是对的 ,唯一的区别是您的项目之一是 Web Site Project另一个是 Web Application project .除非您在 Web 应用程序项目中,否则您不会看到“ 转换为 Web 应用程序 ”选项。我知道……这是非常具有误导性的。这背后的原因源于你的方式convert to a web application project .如果您打算转换它(这可能是一个真正的痛苦,取决于它的设置方式),那么您需要注意一些差异:

在 Web 应用程序项目中,所有内容都经过预编译,所有代码隐藏页面都将编译为 .dll ---- 在网站项目中,项目中没有任何内容是预编译的,编译器将编译所有内容以确保其有效但没有任何已编译的页面被上传。当用户第一次尝试访问该站点时,每个页面都会被编译成自己的 dll。这意味着在网站项目中,您可以上传单个代码隐藏文件。

命名空间 - 在 Web 应用程序项目中,默认情况下会在网站项目中创建命名空间,但它们不是。因此,如果您打算转换它们,您可能需要花一些时间来添加它们。

项目文件 - 您会注意到网站项目没有 Web 应用程序项目所具有的“cproj”文件。

我已经转换了其中一些项目,只要“app_code”文件夹中没有很多代码,我发现它们运行得相当顺利。您可以尝试一下,看看它有多容易,如果看起来会很痛苦,我建议FileZilla只需 FTP 即可,免去一些麻烦。

祝你好运

关于asp.net - 如何在 Visual Studio 2008 中使用 "Publish"函数而不删除目标文件夹的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/357769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com