2016-04-04 2 views
1

В окне моей визуальной студии есть файлы Web.config и Web.debug.config и Web.release.config.Asp.net mvc web.config и web.debug.config разность

Я хочу установить различные конфигурации электронной почты для выпуска и отладки.

Поэтому я Web.debug.config файла

<system.net> 
    <mailSettings> 
     <smtp deliveryMethod="SpecifiedPickupDirectory"> 
     <network host="localhost" port="587" defaultCredentials="true"/> 
     <specifiedPickupDirectory pickupDirectoryLocation="C:\Temp\Mail\Debug"/> 
     </smtp> 
    </mailSettings> 
    </system.net> 

И я поставил моего Web.release.config

<system.net> 
    <mailSettings> 
     <smtp deliveryMethod="SpecifiedPickupDirectory"> 
     <network host="localhost" port="587" defaultCredentials="true"/> 
     <specifiedPickupDirectory pickupDirectoryLocation="C:\Temp\Mail\Release"/> 
     </smtp> 
    </mailSettings> 
    </system.net> 

Когда я запустить applciaitons, мои настройки не загружает SmtpClient объекта ,

Почему не принимает параметры из Web.debug.config

enter image description here

+0

, прежде чем запустить его переключения в конфигурации решения от отладки освободить – SilentTremor

+0

почему не работает Web.debug.config? – barteloma

+0

Ваш 'web.debug.config' не содержит преобразований. Вы можете преобразовать его в преобразование, добавив 'xdt: Transform =" Replace "xdt: Locator =" Match (name) "' в элемент 'smtp' –

ответ

2

Как упоминалось ранее это не WebConfig, а не преобразований. Преобразование преобразуется в web.config при построении/публикации в, например, режиме выпуска.

Вы должны установить некоторые метаинформацию в web.release.config, как нужно относиться tranformation, например:

<system.net> 
    <mailSettings> 
     <smtp deliveryMethod="SpecifiedPickupDirectory"> 
     <network host="localhost" port="587" defaultCredentials="true"/> 
     <specifiedPickupDirectory pickupDirectoryLocation="C:\Temp\Mail\Release"/ xdt:Transform="Replace"> 
     </smtp> 
    </mailSettings> 
</system.net> 

Это будет инструктировать преобразование заменить specifiedPickupDirectory тег в web.config с один в web.release.config.

Если вы хотите сделать трансформации при сборке и не только при публикации, вам нужно добавить TransformXml в раздел BeforeBuild в вашем csproj.

1

Как и Мерривезер, это преобразование, применяемое поверх базовой конфигурации. SlowCheetah предлагает расширения, которые позволяют щелкнуть правой кнопкой мыши, чтобы просмотреть конфигурационное преобразование. Вы можете получить доступ к тем, через Visual Studio галерея:

https://visualstudiogallery.msdn.microsoft.com/05bb50e3-c971-4613-9379-acae2cfe6f9e

+0

Не является ли SlowCheetah устаревшим, поскольку он не активно поддерживается больше, och does не работает, например, в Visual Studio 2015? http://sedodream.com/CategoryView, category,SlowCheetah.aspx – Hypnobrew

+0

Этот пост был с 2014 года, но запись в галерее была с 2015 года, поэтому что-то должно было передумать между ними ... – ryanrdl

Смежные вопросы