2011-07-02 4 views
3

MVC2 및 MVC3 응용 프로그램 (모두 .net 4.0)과 호환되도록하려는 nuget 패키지를 만들고 있습니다.다른 MVC 버전에 대한 NuGet Web.Config.Transforms 변경

문제가

, 나는 (지금처럼) web.config 파일에 일부 네임 스페이스를 추가 할 :

<pages> 
    <namespaces> 
    <add namespace="NewPackage.Web" /> 
    </namespaces> 
</pages> 

그러나 면도칼, 난 등을 넣어해야 할 것 :

<system.web.webPages.razor> 
    <pages> 
     <namespaces> 
      <add namespace="NewPackage.Web" /> 
     </namespaces> 
    </pages> 
</system.web.webPages.razor> 

물론 이것은 MVC2에서 작동하지 않습니다. 그래서 mvc3가 감지 된 경우에만 조건부로 web.config.transform을 실행하는 방법이 필요했습니다. 나는 이것을 수행 할 능력이 정말로 없다고 생각하지만 나는 파워 쉘에 대해 궁금해하고 있었다. install.ps1을 만들 수 있고 프로젝트 참조를 감지 할 수 있지만 참조 버전 번호를 감지 한 다음 web.config.transform을 실행할 수 있다는 것을 알고 있습니까? 더 좋은 방법이 있습니까?

NewPackage.Mvc3과 같은 패턴을 따라 새 패키지를 만들 수 있다는 것을 알고 있습니다. 다른 사람이 본 것처럼 보이지만, 설치하는 사용자에게는 그다지 분명한 것처럼 보이지 않습니다. 약간 다른 모양을 원합니다. web.config.transform 그래서 내 후퇴입니다. 선택권.

답변

3

기본 변환 지원을 사용하여 설명 할 수 있다고 생각하지 않습니다. PowerShell 설치 스크립트에서 변환 기능을 직접 호출 할 수 있습니다. 그렇지 않으면 수동으로 변경해야하며 제거 스크립트에서 롤백해야합니다.

+0

내가 생각한 것. PowerShell (변환이 가능하다면)에서 변환 기능을 호출하는 방법이나 아직 찾지 못하고 생각한 몇 가지 대안에 대한 단서를 찾고 싶습니다. –

+0

주제에 대해 별도의 질문을하고 [NuGet 프로젝트 토론 영역] (http://nuget.codeplex.com/discussions) –

관련 문제