我有一个.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>
答案 0 :(得分:0)
根据您的描述,您可以转到Visual Studio中的.net项目,然后在Property
上的web.config
上单击鼠标右键。
将您的Build Action
设置为Content
。这意味着此配置将不进行任何转换,常规配置已编译。
我正在尝试使用发布设置文件直接部署到Azure。
要达到您的要求,可以参考import publish settings and deploy to Azure。
步骤1 :在azure应用程序服务中创建发布设置文件。
第2步:在Visual Studio中导入发布设置并部署
部署后,您可以通过浏览器成功访问它。