Web.config转换Azure项目部署的问题

时间:2018-07-11 12:45:46

标签: c# asp.net asp.net-mvc azure web-deployment

我有一个.net MVC项目,我正在尝试使用发布设置文件直接部署到Azure。我可以在本地发布,没有问题,但是,当尝试发布到Azure时,它似乎正在尝试转换子文件夹中的web.config文件(它们没有转换,不需要它们)。我收到以下错误:

  

使用C:\ Projects \ Git \ Web.Project \ Web.Debug.config将Web.config转换为obj \ Debug \ TransformWebConfig \ transformed \ Web.config。   C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ Microsoft \ VisualStudio \ v15.0 \ Web \ Microsoft.Web.Publishing.targets(2311,5):错误:无法打开源文件:找不到路径'C:\ Projects \ Git \ Web.Project \ App_Plugins \ PluginName \ Web.config; \ App_Plugins \ PluginName \ Web.config'的一部分。

引用的web.config确实存在(我已经验证),并且如上所述,发布到本地文件夹时不会引发此错误。

关于这种情况为什么发生以及如何解决的任何建议?

编辑:在下面添加了web.debug文件的内容

<?xml version="1.0" encoding="utf-8"?>

<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <!--
    In the example below, the "SetAttributes" transform will change the value of 
    "connectionString" to use "ReleaseSQLServer" only when the "Match" locator 
    finds an attribute "name" that has a value of "MyDB".

    <connectionStrings>
      <add name="MyDB" 
        connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" 
        xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
    </connectionStrings>
  -->
  <system.web>
    <!--
      In the example below, the "Replace" transform will replace the entire 
      <customErrors> section of your web.config file.
      Note that because there is only one customErrors section under the 
      <system.web> node, there is no need to use the "xdt:Locator" attribute.

      <customErrors defaultRedirect="GenericError.htm"
        mode="RemoteOnly" xdt:Transform="Replace">
        <error statusCode="500" redirect="InternalError.htm"/>
      </customErrors>
    -->
  </system.web>
</configuration>

1 个答案:

答案 0 :(得分:0)

根据您的描述,您可以转到Visual Studio中的.net项目,然后在Property上的web.config上单击鼠标右键。

将您的Build Action设置为Content。这意味着此配置将不进行任何转换,常规配置已编译。

enter image description here

  

我正在尝试使用发布设置文件直接部署到Azure。

要达到您的要求,可以参考import publish settings and deploy to Azure

步骤1 :在azure应用程序服务中创建发布设置文件。

点击获取发布配置文件并将其保存在本地。 enter image description here

第2步:在Visual Studio中导入发布设置并部署

enter image description here

部署后,您可以通过浏览器成功访问它。