问题标签 [one-click-web-publishing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1598 浏览

asp.net - 一键网络发布过程中可以保留文件夹权限吗?

免责声明:我知道如果我选中“在目标上保留额外文件”复选框,我可以保留文件夹权限,但我不想这样做

也就是说,有没有办法让 Visual Studio 2010 中的一键式 Web 发布保留远程服务器上文件夹的权限?

具体来说,我希望应用程序池帐户对 App_Data 文件夹具有修改权限,但在发布过程中始终会重置权限。

0 投票
3 回答
4042 浏览

msdeploy - vs 2012中的一键发布:如何删除_ConnectionStringsToInsert?

我通常将我的连接字符串放到一个单独的文件中,在 web.config 中添加类似这样的内容:

我刚刚安装了 VS 2012,它会自动获取我现有的发布设置。但是,当我进行 webpublish 时,它现在自己添加了两个连接字符串,所以我在部署目标上的 web.config 现在看起来像这样:

当然,这会产生错误(使用时节点内容必须为空configSource)。我注意到,在新生成的 .pubxml 文件(现在存储发布设置的位置)中有以下几行:

我怎样才能删除它们?:) 如果我从文件中删除它们,网络发布对话框会在我编辑发布设置时添加它们。

0 投票
0 回答
861 浏览

wcf - 发布 WCF 服务时回收应用程序池

我开发了一个 WCF Web 服务,其中包含对非托管 DLL 的依赖。当我尝试通过 Visual Studio 2010 的一键式 Web 部署将 Web 应用程序发布到正在运行的服务器(本地或远程)时,现有 bin 文件夹的删除失败,因为该非托管 DLL 仍由 IIS 加载到内存中,导致发布操作失败,除未删除的 DLL 外,Web 应用程序文件夹为空。如果我随后在服务器上手动回收 IIS 的应用程序池或重新启动 IIS,我就能够成功执行发布操作。

有没有办法在 Visual Studio 的发布操作开始时以某种方式自动执行应用程序池回收?服务器名称和 Web 应用程序名称根据不同的 Web 部署配置文件而有所不同,只是为了让事情变得有趣。

也欢迎其他建议。

到目前为止我遇到的一些相关链接:
如何:使用一键发布和 Web 部署部署 Web 应用程序项目
在将 WCF 项目投入使用时是否需要回收应用程序池?

0 投票
0 回答
400 浏览

asp.net - WebDeploy 和 SetACL - 在有大量文件/文件夹的情况下太慢

我们有一个 ASP.Net MVC3 站点,我们使用 Web 部署在 IIS 上发布该站点。

在站点根目录下,我们有一个"Data"文件夹,用于存储上传的文件及其处理结果。因此,目前有很多文件/文件夹"Site Root/Data"

Web 部署在发布时尝试更改 ACL 权限,在我们的案例中需要超过 10 分钟(大量文件/文件夹)。

现在我们正在使用

完全禁用 setacl 提供程序,但有时能够通过 web 部署更改新添加的目录的权限很方便。

所以,问题是——在这种情况下,除了关闭 aclprovider 之外,我们还能做什么?有没有办法使用 web-deploy 以非递归方式设置 acl 权限以使其更快?

0 投票
0 回答
866 浏览

c# - 为什么在发布时 Visual Studio 2012 中会缺少“更新数据库”?

我正在尝试将应用程序部署到我的网络服务器并且一切正常,除了它不更新远程数据库。

使用新的演示 MVC 项目,您可以在发布时选择“更新数据库”。由于某种原因,当我想发布自己的 MVC 项目时,该选项不可用。

为什么这个选项不显示?

  • 我正在使用 EF(数据库优先)
  • 我在连接字符串字段下收到警告:为了发布代码优先模型,您必须启用 EF 代码优先迁移。(虽然这个项目不应该先使用代码
  • Web Deploy 3.0 和 dbDacFx 提供程序安装在服务器上

-- 编辑 -- 我现在重新创建了项目,并且更新数据库一直显示,直到第一次 web 发布。然后它就会消失并显示警告,以便发布代码优先模型,您必须启用 EF 代码优先迁移。(虽然我没有先使用代码,我先使用数据库)这是VS中的错误还是我做错了什么?

--FIX-- 我通过在 web.config 中添加另一个指向我的数据库的连接字符串(没有 EF 干扰)使它工作:<add name="DeployCode" connectionString="Data Source=(localdb)\Projects;Initial Catalog=xxxxx;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;" providerName="System.Data.SqlClient" />

0 投票
1 回答
3358 浏览

asp.net - Web 部署:如何将文件保存在特定目标文件夹中

设想

  • Visual Studio 2012 web 发布:web Deploy 方法。
  • 选择了“在目标位置删除其他文件”选项。
  • 带有“上传”文件夹的 MVC3 网站

问题

如何在不从部署设置中删除“删除附加文件...”选项的情况下将现有文件保留在上传文件夹的目标位置?

0 投票
0 回答
726 浏览

web-config - 在 Visual Studio 2012 中预编译 ASP.NET MVC 4 项目时,它是否尝试在本地解析整个配置链?

有人可以确认或否认我在下面的假设和/或提供任何替代方案吗?

我的目标

当一键发布到我们的生产环境时,希望能够预编译和合并我的 ASP.NET MVC 4 应用程序(如此处和此处记录)。

症状

我在 Visual Studio 2012 中有一个 ASP.NET MVC 4 项目。我Web.config包含在Web.Release.config转换中删除的各种条目。删除的条目之一是整个configSections元素,因为我们在生产服务器的Machine.config.

但是,当我将项目配置为预编译和合并以发布发布时,我收到以下错误:

我的假设

我假设正在发生的是它在发布到生产服务器之前在本地预编译所有内容(这很有意义),但是预编译过程的那一部分是解决和验证从项目到我本地的整个.config链(这不实际上没有多大意义)。而且由于我的本地没有声明(或我们依赖生产服务器的任何其他设置),因此已解决的不验证。Web.configMachine.configMachine.configconfigSectionsMachine.configWeb.config

而且由于Web.config没有验证,该站点无法预编译,因此没有任何内容发布到生产环境中。

如果确实发生了这种情况,那么我们将无法预编译,因为我能想到的唯一解决方案(除了一些我无法找到的潜在配置选项)将是我们所有的开发人员都拥有我们生产服务器的本地副本Machine.config在他们的机器上。这根本不合理,因为它违背了在单个位置声明这些通用设置的整个目的。

0 投票
2 回答
944 浏览

asp.net-mvc-4 - Visual Studio 一键部署“成功”,但没有文件发布

这是 build/web.config 转换后的输出:

然而,当它加载根文件夹时,什么都没有。访问该站点会出现服务器错误

我相信,考虑到该目录中没有任何内容,这是可以理解的。如果可能误导。

为了解决这个问题,我将部署服务器的版本复制并粘贴到了生产服务器。我这样做没有访问问题,所以我认为它不会因为权限而阻止我进行部署。

如何解决此特定情况?

0 投票
1 回答
267 浏览

visual-studio-2010 - 发布后找不到文件位置

所以我有一个应用程序可以在我自己的个人计算机上以调试模式和发布模式运行。问题是,在我将它发布到 oneClick 应用程序后,它再也找不到指定的文件。

这是我的代码:

我在 /bin/release 文件夹中有三个额外的文件。要运行的文件、应用程序和要执行的 Run.bat。该应用程序是一种在有效登录时执行文件的表单。我的问题是为什么它在发布之前找不到要运行的文件,但之后却找不到?有没有办法在某种包含中进行编码?

0 投票
0 回答
649 浏览

wcf - 在 IIS 上部署 Web 服务项目时如何指定应用程序池

我正在尝试在 IIS 上部署我的 Web 服务。

但是,VS 2012 给了我一个错误,因为默认网站使用了使用 .NET Framework 2.0 的应用程序池。但是,我需要 .NET Framework 4.0 或更高版本。

因此,当我手动添加另一个 Web 服务时,我分配了支持 .NET Framework 4.0 的不同应用程序池。

我怎样才能自动化它?

我可以在扩展名为pubxml的设置文件中指定使用我想要的应用程序池吗?

我想将默认网站与不同的应用程序池一起使用,而不是使用默认应用程序池。

谢谢。