【问题标题】:Using Visual Studio 2013 for ASP.NET web site project使用 Visual Studio 2013 for ASP.NET 网站项目
【发布时间】:2023-04-02 08:29:01
【问题描述】:

我是 Visual Studio 2013 IDE/环境的新手...

我继承了一个较旧的 (ASP.NET) 网站,该网站目前正在使用 Microsoft Expression Web 4(Microsoft 不再支持)进行维护。测试和生产网站使用 IIS 7.5 远程托管

关于从 Expression Web 4 迁移到 Visual Studio 2013,我有两个问题:

  1. 有什么方法可以简单地将网站从生产服务器复制(FTP/下载)到 Visual Studio 2013 中?即:在 VS 2013 中创建一个新的空网站,然后从生产网站复制所有内容。这会保留“子网络”文件夹等吗? (我怀疑)。

  2. 使用 Expression Web 4 将页面发布到 IIS 时 – Expression Web 中的某些文件被标记为“从发布中排除”(因为 web.config 等某些文件会有所不同,具体取决于发布到测试服务器还是生产服务器)。我在 VS 2013 中没有找到任何 ASP.NET 网站项目,该项目允许我设置单个文件,以便将它们排除在复制到远程网站之外。这样的功能是否存在? 任何见解都将不胜感激。

提前致谢。

【问题讨论】:

  • 对于#1 可能没有,生产站点不会有任何源文件,只有编译好的二进制文件和 aspx/css/script 文件。对于#2,您想使用配置转换,msdn.microsoft.com/en-us/library/dd465326(v=vs.110).aspx
  • 没有生产站点确实有 .aspx 页面的“源”文件和一个用于二进制文件的 /bin 文件夹——这是一个网站项目而不是一个 Web 应用程序项目,所以我没有不认为该链接适用于这种情况,但谢谢!
  • @user1377587 web.config 转换现在支持网站和 Web 应用程序。 :)

标签: web visual-studio-2013


【解决方案1】:

对于#1,如果您在 VS 中打开了网站项目(不要与 Web 应用程序项目混淆),您可以右键单击它并选择复制网站。这将打开一个窗口,您可以在其中连接到远程站点(例如使用 FTP)并来回同步文件。

(注意:这个功能很古老,没有人知道了)

对于#2,这取决于。对于 web.config,您可以创建一个发布配置文件(右键单击项目并选择发布),让您使用 web.config transforms 修改每个发布目标的 web.config 文件。一旦您的发布配置文件存在,您可以在解决方案资源管理器中右键单击它并选择添加配置转换,这将仅在您发布到该目标时应用。

对于您希望排除的其他文件,您可以使用<ExcludeFilesFromDeployment><ExcludeFoldersFromDeployment> 为您的发布配置文件修改.pubxml 文件,如here 所述。 (博客文章谈到了编辑项目文件,但从 VS2012 开始不再需要;改用 .pubxml 文件。)

【讨论】:

  • Jimmy -- 我在 VS 2013 中设置了一个测试 WEB SITE 项目 -- 然后尝试编辑 .pubxml 文件以包含 ,但在编辑器中无法识别该节点(通过intellisense) -- 这是否记录在 WEB 站点的任何地方? -- 它适用于 WEB 应用程序(根据您的链接),但我认为它不适用于网站项目?
  • @user1377587 不幸的是,这些文件已根据 MSBuild 架构进行验证,因此任何与 Web 发布相关的属性都不会显示在智能感知中,或者会在编辑器中显示。如果您尝试发布它应该可以工作(可能首先发布到测试目录)。
  • Jimmy - 再次感谢 - 当我尝试了一些测试(但我找不到任何来自 MS 的正式文档)时,它似乎可以工作。但是,我想我只会构建一个 Powershell 脚本来仅 FTP 那些已更改的文件。这将使我能够灵活地排除特定文件和文件夹(不能使用 .pubxml 完成)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-14
  • 1970-01-01
相关资源
最近更新 更多