为什么 Visual Studio 2019 的 "Build" 菜单上没有 "Clean Solution" 选项?
Why isn't "Clean Solution" a choice on the "Build" menu for Visual Studio 2019?
我是 运行 Microsoft Visual Studio Professional 2019(版本 16.11.5),我正在尝试重建我的应用程序 .dll 和 .pdb 文件。这是一个使用 .NET Framework 的 ASP.NET Web 应用程序。大多数解决方案都声明使用“清洁解决方案”可以做到这一点,但“构建”菜单上没有该选项?
好吧,你只能得到编译项目的菜单,或者我们所说的
asp.net web application
但是,如果您使用的是
asp.net web site
然后你就没有清理干净,事实上,网站是由 IIS 和网站即时编译的 - 而不是 Visual Studio。
因此,如果您使用 asp.net 网站应用程序(您应该!!!),那么您将看到并获得这些选项:
注意非常非常小心!!! - 没有建立网站!!!!!!!
但是,如果您打开网站,则不会看到这些选项。你看到这个:
上面的注释 - 建立网站。并注意没有干净的应用程序。
“干净”选项适用于桌面或 Web 应用程序。
有什么区别?
现在,在大多数情况下,我更喜欢网站应用程序(但这会使网站的单页代码更新更加困难,但我仍然更喜欢那个选择!!)。
此处两个选项之间的差异列表非常长。但是,当您部署或 运行 应用程序时,所有页面(隐藏代码)都会被获取并编译成单个应用程序 .dll(很像桌面程序)。您还有更多选择,例如能够构建和制作自定义登录系统(自定义身份验证提供程序)。并且您已经使用 .sln(项目文件)打开此“应用程序”
但是,很多人喜欢使用 asp.net 网站。有几个原因:
You can modify JUST one page + save and not have to re-compile the whole site.
You can publish to a sub site, or "low cost" hosting
Your main page, application startup is NOT really a whole site,
but in effect just web pages being pushed up to a existing web site.
甚至开发网站也“更容易”——您可以修改一个页面(包括隐藏代码,按 ctrl-s 保存,然后就完成了。
使用 asp.net 网络应用程序?您必须再次重新发布整个网站,即使是对页面后面的某些代码进行微小的更改。
因此,如前所述,您是否打开了“sln”文件? = asp.net 网站申请
或者,您只是打开->打开网站吗? = aspnet 网站。
asp.net 网站不会有“干净”选项,因为如前所述,IIS 和网络服务器将为您编译代码,而不是网站应用程序,其中一组 .dll 被编译到 bin 文件中。 (事实上,后面的主要代码被编译成一个带有“应用程序”的.dll)。如前所述,有了应用程序,发布就更困难了,而且您不能只更新网站上的一个页面(代码隐藏)。使用 asp.net 网站,您可以更新一个页面 - 通常有些人需要或发现这种能力是一种优势(我个人没有)。
所以要真正清楚 - 运行 时,asp.net 网站不是由 Visual Studio 编译的。对于 asp.net 网站应用程序,应用程序的编译首先发生,然后传递给 IIS Web 服务器,然后 运行 - 在这种情况下,不会发生代码的即时编译,除了代码 app_code。因此,我什至使用了一个名为 MyCode 的 foler,因为我不希望网站为我编译该代码。 (事实上 ,我有代码中断,因为我开始使用 vs2019 - 和更新的“rosylyn 编辑器 - 它允许例如代码编辑器中的自由字符串,例如 sql 语句,但 IIS 无法编译它们,除非Web 服务器 .net 编译器已升级到更高版本)。
我是 运行 Microsoft Visual Studio Professional 2019(版本 16.11.5),我正在尝试重建我的应用程序 .dll 和 .pdb 文件。这是一个使用 .NET Framework 的 ASP.NET Web 应用程序。大多数解决方案都声明使用“清洁解决方案”可以做到这一点,但“构建”菜单上没有该选项?
好吧,你只能得到编译项目的菜单,或者我们所说的
asp.net web application
但是,如果您使用的是
asp.net web site
然后你就没有清理干净,事实上,网站是由 IIS 和网站即时编译的 - 而不是 Visual Studio。
因此,如果您使用 asp.net 网站应用程序(您应该!!!),那么您将看到并获得这些选项:
注意非常非常小心!!! - 没有建立网站!!!!!!!
但是,如果您打开网站,则不会看到这些选项。你看到这个:
上面的注释 - 建立网站。并注意没有干净的应用程序。
“干净”选项适用于桌面或 Web 应用程序。
有什么区别?
现在,在大多数情况下,我更喜欢网站应用程序(但这会使网站的单页代码更新更加困难,但我仍然更喜欢那个选择!!)。
此处两个选项之间的差异列表非常长。但是,当您部署或 运行 应用程序时,所有页面(隐藏代码)都会被获取并编译成单个应用程序 .dll(很像桌面程序)。您还有更多选择,例如能够构建和制作自定义登录系统(自定义身份验证提供程序)。并且您已经使用 .sln(项目文件)打开此“应用程序”
但是,很多人喜欢使用 asp.net 网站。有几个原因:
You can modify JUST one page + save and not have to re-compile the whole site.
You can publish to a sub site, or "low cost" hosting
Your main page, application startup is NOT really a whole site,
but in effect just web pages being pushed up to a existing web site.
甚至开发网站也“更容易”——您可以修改一个页面(包括隐藏代码,按 ctrl-s 保存,然后就完成了。
使用 asp.net 网络应用程序?您必须再次重新发布整个网站,即使是对页面后面的某些代码进行微小的更改。
因此,如前所述,您是否打开了“sln”文件? = asp.net 网站申请
或者,您只是打开->打开网站吗? = aspnet 网站。
asp.net 网站不会有“干净”选项,因为如前所述,IIS 和网络服务器将为您编译代码,而不是网站应用程序,其中一组 .dll 被编译到 bin 文件中。 (事实上,后面的主要代码被编译成一个带有“应用程序”的.dll)。如前所述,有了应用程序,发布就更困难了,而且您不能只更新网站上的一个页面(代码隐藏)。使用 asp.net 网站,您可以更新一个页面 - 通常有些人需要或发现这种能力是一种优势(我个人没有)。
所以要真正清楚 - 运行 时,asp.net 网站不是由 Visual Studio 编译的。对于 asp.net 网站应用程序,应用程序的编译首先发生,然后传递给 IIS Web 服务器,然后 运行 - 在这种情况下,不会发生代码的即时编译,除了代码 app_code。因此,我什至使用了一个名为 MyCode 的 foler,因为我不希望网站为我编译该代码。 (事实上 ,我有代码中断,因为我开始使用 vs2019 - 和更新的“rosylyn 编辑器 - 它允许例如代码编辑器中的自由字符串,例如 sql 语句,但 IIS 无法编译它们,除非Web 服务器 .net 编译器已升级到更高版本)。