Я создаю пакет nuget, который я хочу совместить как с приложениями MVC2, так и с приложениями MVC3 (все в .net 4.0).
Проблема в том, что я хочу добавить несколько пространств имен в файл 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.Так что я надеялся на какой-нибудь способ условно запустить web.config.transform, только если обнаружен mvc3.Я понимаю, что на самом деле у nuget нет возможности сделать это, но мне было интересно узнать о powershell.Я знаю, что вы можете создать файл install.ps1, и я знаю, что он может обнаружить ссылки проекта, но может ли он определить номер справочной версии и затем запустить web.config.transform?Есть ли лучший способ?
Я знаю, что мог бы создать новый пакет, следуя шаблону, подобному NewPackage.Mvc3
, как я видел, как это делают другие, но это не кажется очевидным для пользователя, устанавливающего его, и я хочу только немного другого web.config.transform
так что это мой запасной вариант.