在Web.config中添加程序集时,是否可以指定任何版本或范围?

Aar*_*ron 6 .net asp.net web-config

在我的工作中,GAC中有一个核心程序集,许多应用程序都参考了该程序集.每次发布新的核心版本时,我都不想更改所有生产站点的Web配置.有没有办法为汇编版本指定范围或通配符?

就像是:

    <compilation debug="false">
    <assemblies>
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="MyCore,Version=*, Culture=neutral, PublicKeyToken=55b47eca7ec17c50"/> <!-- Does not work -->
    <add assembly="*"/>
  </assemblies>
</compilation>
Run Code Online (Sandbox Code Playgroud)

Sha*_*ser 7

.NET中没有任何方法可以直接指定一系列版本,但程序集名称的"version"组件是可选的.您应该能够将其删除以搜索程序集的所有版本.

为程序集添加元素以进行编译(ASP.NET设置架构)

我过去所做的就是使用汇编的简称,换句话说:

<add assembly="MyCore" />
Run Code Online (Sandbox Code Playgroud)

也就是说,有时保留程序集名称(带有版本)很有用,因为如果站点部署不正确,它会阻止执行旧代码.MSBuild可用于重写结构化构建实验室内的web.config文件,但需要一些手动配置.