编程语言
首页 > 编程语言> > c#-不同的MVC版本的不同的NuGet Web.Config.Transforms

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