2016-08-25 5 views
0

В настоящее время в моем web.config файле у меня естьweb.release.config преобразование в web.config

<configuration> 
    <general path="c:\abc\" /> 
</configuration> 

Я хочу изменить c: к d:, когда я публикую версию.

Как это сделать в преобразовании?

Раздел <general> намного больше, поэтому я не хочу переписывать тогда всю вещь, только один атрибут. Может ли кто-нибудь помочь?

Обновление: Я создал следующий web.release.config:

<?xml version="1.0" encoding="utf-8"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.web> 
    <compilation xdt:Transform="RemoveAttributes(debug)" /> 
    </system.web> 
    <General dataFilePath="D:\Data" xdt:Transform="SetAttributes" xdt:Locator="Match(dataFilePath)" /> 
    <AuditManagement auditPath="D:\Audit" xdt:Transform="SetAttributes" xdt:Locator="Match(auditPath)" /> 
</configuration> 

Это не имело никакого влияния на конечный web.config. Он по-прежнему показывает «C: \», где я хотел бы «D: \»

ответ

1

Я бы рекомендовал использовать трансформации

Сначала вы должны создать различные окружающие среды для отладки или выпуска, и если вы хотите, вы можете добавить больше.

Этот учебник хорошо объясняется и проверено мной:

http://deanhume.com/home/blogpost/working-with-multiple-web-config-files/4100

А вот официальная документация:

https://msdn.microsoft.com/en-us/library/dd465326%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

, как это описано в предыдущей конфигурации для web.config будет:

<configuration> 
    <general path="d:\abc\" xdt:Transform="SetAttributes" xdt:Locator="Match(path)"/> 
</configuration> 

, а затем вам нужно будет определить правильный путь в конфигурациях Debug и Realease, как только он будет завершен, вы запустите приложение с одной из установленных вами конфигураций.

+0

Я пробовал это, и он не удался. В web.config изменений не было. Я обновил свой вопрос (выше) с изменениями, которые я сделал. Благодаря! –

3

Вы можете попробовать добавить эти атрибуты к Web.Release.config:

xdt:Transform="SetAttributes" xdt:Locator="Match(path)" 

так что ваш окончательный результат должен быть:

<configuration> 
    <general path="d:\abc\" xdt:Transform="SetAttributes" xdt:Locator="Match(path)"/> 
</configuration> 
Смежные вопросы