gpt4 book ai didi

visual-studio - 在调试过程中将转换后的Web.config与IIS Express一起使用

转载 作者:行者123 更新时间:2023-12-04 01:00:11 25 4
gpt4 key购买 nike

我有一个具有多个解决方案配置的Visual Studio应用程序。每个配置都有一个Web.config转换文件。例如,Web.Debug.config,Web.Release.config等。

我们还有一些开发人员在此项目上工作,他们使用非标准的SQL Express实例名称,这是由于他们安装SQL Express的方式所致,而不是让他们不断编辑Web.Debug.config以在其环境中运行。每个选项,并将以下内容添加到.csproj文件的最底部。该代码确实起作用,因为它触发了VS / obj / Debug-DeveloperName /文件夹中的Web.config和MyWebApp.dll.config的创建。

转换后的.config文件是完美的,但IIS Express仍使用根Web.config(未转换)。

有没有办法让IIS Express在本地调试时使用这些转换的Web.config文件?

<UsingTask 
TaskName="TransformXml"
AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.Tasks.dll" />

<Target
Name="AfterCompile"
Condition="exists('Web.$(Configuration).config')">

<!-- Generate transformed config in intermediate directory -->
<TransformXml
Source="Web.config"
Destination="$(IntermediateOutputPath)$(TargetFileName).config"
Transform="Web.$(Configuration).config"
/>
</Target>


使用Web应用程序的Web.Debug.Config对我们大多数人有效,但并非全部。

必须有一种让IIS Express在本地调试期间使用转换后的Web.Debug-DeveloperName.config的方法吗?

转换后的Web.config是否必须复制到另一个文件夹中?

最佳答案

我之前遇到过这个问题,并且找到了解决方案。不幸的是,该解决方案并非基于强制IIS使用其他名称的配置,而是按照以下步骤操作,您只需选择配置并运行您的应用即可(我认为这是您所需要的)。 Web.config转换将在构建之前进行,并且将用transformad替换原始的Web.config。然后,当开始部署(到本地IIS Express)时,它将已经使用转换后的版本。

这是我在一个项目(VS2012)中如何逐步执行此操作:


右键单击该项目,然后选择“卸载”
再次右键单击它,然后选择“编辑”
转到文件的底部,并将以下内容附加到“”标签的右侧(这将是最后一项)


<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets" />
<Target Name="BeforeBuild" Condition="'$(PublishProfileName)' == '' And '$(WebPublishProfileFile)' == ''">
<TransformXml Source="Web.config" Transform="Web.$(Configuration).config" Destination="Web.config" />
</Target>




这样做的条件是防止发布时进行重复转换。


保存文件,右键单击它,然后选择“重新加载”


现在,每次运行构建时,您的Web.config都将根据选定的配置进行转换。

关于visual-studio - 在调试过程中将转换后的Web.config与IIS Express一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29094276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com