开发者

Global Import/using Aliasing in .NET

Using import aliasing in one file/class, we can reference class library namespaces by assigning our own custom alias like this:

' VB
Im开发者_运维百科ports Db = Company.Lib.Data.Objects 

// C#
using Db = Company.Lib.Data.Objects;

And then we are able to reference the classes inside of Company.Lib.Data.Objects by using the Db alias that we assigned.

Is it possible to do this at the global level so that the alias is applied to the entire solution instead of just one file/class?

Currently, we are working with web applications, so I was hoping we could add something to web.config, but I am also interested in whether or not this is possible with windows forms, console apps, and/or class libraries.


Yes this is a supported scenario in VB.Net projects. The way to do this is the following

  • Right Click on the project in Solution Explorer and select Properties
  • Go to the References tab
  • In the "Imported Namespaces" field type "Db=Company.Lib.Data.Objects"
  • Hit "Add User Import"

This will set up the alias for all files in the project.

This however does not work in C# projects. C# as a language doesn't have the concept of a global using/import. Instead it only supports them at the file level.


In your web.config file for your website - or most likely app.config file for a project (not confirmed)

    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
        <namespaces>
            <clear/>
            <add namespace="System"/>
            <add namespace="System.Collections"/>
            <add namespace="System.Collections.Specialized"/>
            <add namespace="System.Configuration"/>

anything that you put in this section should be a valid replacement for the Imports clause on the top of your code behind pages. Worked wonders for me, let me know if it helps you out

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜