c#-不同的MVC版本的不同的NuGet Web.Config.Transforms
作者:互联网
我正在创建一个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.因此,我希望仅在检测到mvc3时才有条件地运行web.config.transform.我了解nuget确实不具备执行此操作的能力,但我想知道Powershell.我知道您可以创建一个install.ps1,我知道它可以检测到项目的引用,但是可以检测到引用版本号,然后运行web.config.transform吗?有更好的办法吗?
我知道我可以按照NewPackage.Mvc3这样的模式创建一个新程序包,就像我已经看到其他人所做的那样,但是对于安装它的用户来说似乎不是很明显,我只想要一个稍微不同的web.config.transform,所以我的后备选项.
解决方法:
我不相信使用默认的转换支持您的描述是可能的.您也许可以直接从Powershell安装脚本中调用转换功能,否则必须手动进行更改(并将其回滚到卸载脚本上).
标签:powershell,nuget,c,asp-net-mvc,net-4-0 来源: https://codeday.me/bug/20191208/2089794.html