3
我正在创建一个nuget包,我希望兼容MVC2和MVC3应用程序(全部在.NET 4.0上)。针对不同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。我了解nuget真的没有能力做到这一点,但我想知道PowerShell。我知道你可以创建一个install.ps1,我知道它可以检测项目的引用,但是它可以检测到引用版本号,然后运行web.config.transform?有更好的方法吗?
我知道我可以创建一个新的包下面像NewPackage.Mvc3
的模式,就像我见过别人做的,但似乎并不很明显用户安装它,我只想要一个稍微不同的web.config.transform
所以这是我的备用选项。
正如我所想。我希望知道如何从PowerShell调用变换功能(如果甚至可能的话)或者我还没有找到/想到的替代方法。 –
我建议就这个问题提出一个单独的问题,并且在[NuGet项目讨论区](http://nuget.codeplex.com/discussions) –