2010-12-22 8 views
2

.NET 4에서 실행되는 ASP.NET MVC 2 프로젝트에서 Web.config 변환을 사용하려고합니다. 그러나 문제 :ASP.NET MVC 2 및 추가 Web.config 파일의 Web.config 변환

// Root Web.config 
<add name="MyDB" connectionString="default...default" /> 


// Root Web.Debug.config 
<add name="MyDB" connectionString="debug...debug" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" /> 

// Root Web.Release.config 
<add name="MyDB" connectionString="release... release" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" /> 

나는이 오류가 점점 계속 :

Warning No element in the source document matches '/configuration/add[@name='MyDB']' C:\filePath\Web.Release.config

나는 뷰 폴더 내부의 Web.Config 파일이 좁혀. 루트 Web.config 파일에있는 connectionString과 같은 connectionString을 제공하면 모든 것이 잘되지만 두 개의 Web.config 파일을 유지해야한다는 것을 의미합니다. 이것에 대한 해결책이 있습니까? 내가 뭔가 잘못하고 있는거야?

답변

3

views 폴더의 web.config가 관련되어 있지만 web.config의 요소와 변형 설정 파일의 불일치가있는 것처럼 들리는 오류에서 왜 확실하지 않습니다. ' 돈 :

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

<configuration> 

... 

    <connectionStrings> 
     <add name="SomeName" providerName="System.Data.SqlClient" connectionString="SomeConnectionString" /> 
    </connectionStrings> 

... 

</configuration> 

및 web.debug.config에

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

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 

... 

    <connectionStrings> 
     <add xdt:Locator="Match(name)" xdt:Transform="SetAttributes(connectionString)" name="SomeName" connectionString="SomeOtherConnectionString" /> 
    </connectionStrings> 

... 

</configuration> 
+0

[SetAttributes (connectionString)]의 parens를 추가해도 작동하지 않아 오류가 발생했습니다. 그러나 디버그/릴리스 구성 파일에서 ()을 래핑하지 않은 것이 문제였습니다. 저는 갑자기 당신의 모범을 보았을 때 그것을 깨달았습니다. 그래서 예를 든다면 +1. :) –

1

내가 이미 말했듯이 : <add /> 가정의 Web.config에서

<connectionStrings />의 아이가 당신이 할 것입니다 VS2012가 자동으로 작업을 수행하지 않으므로 원본 "web.config"에서 "configuration"의 다른 모든 속성을 수동으로 복사하는 것을 잊어서는 안됩니다.