none
如何一次在多个模块中引入同一个命名空间 RRS feed

  • 问题

  •  我在vb.net 2010集成开发环境下,建立了一个Window窗体应用程序项目,其中有多个窗体和标准模块,现在我要在所用窗体和模块中都引用同一个命名空间:System.Data.SqlClient,除了在每个模块自己输入:Imports System.Data.SqlClient,还有没有更快的办法,实现一次设定?

    记得看过某个资料,介绍过以下这么个方法:

    在一个新建的Windows窗体应用程序项目中,单击解决方案资源管理器窗口中的“显示所有文件”按钮,可以看到“引用”项,单击其左端的小三角展开该项,其中展开的各项就是VB.NET根据所建立的项目类型自动导入的部分命名空间。右击“引用”项,在弹出的快捷菜单中执行“添加引用”命令,则可以向当前的项目中添加新的命名空间。

    但是我在打开的对话框里找不到我要的命名空间,所以这个方法不能使用?或者我用得不对?


    2013年8月19日 3:00

答案

  • 右键引用的是已经封装好的DLL类库,可以是系统的,也可以是人为做的。这只是一个类库引用,如果代码中并没有使用到。

    至于手动输入Import……,那是表示我需要在此处(某个文件)引用这个类库,以后的程序或许需要使用这些方法,可能就我所知,无法一次性引入(因为系统并不知道你要在哪些文件中使用哪些类库)。


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    • 已标记为答案 shellyqiu 2013年8月19日 8:23
    2013年8月19日 3:09
    版主
  • 可以在My Project-引用-导入的命名空间 里设置对于每个类和模块都默认引用的命名空间。

    但是如果你想引用的是类的话,例如System.Math,那么只能在每个类和模块的开头写Imports。

    • 已标记为答案 shellyqiu 2013年8月19日 8:23
    2013年8月19日 3:55
  • 但是如果你想引用的是类的话,例如System.Math,那么只能在每个类和模块的开头写Imports。

    我对此表示商榷;)

    如果一个类带有命名空间,必须用Imports引入该控件,方可使用这个类。

    如果一个类没有命名空间(比如Module),那么连Imports也不要。

    关于这一点可以参考:VB.NET中的模块

    有不同意见或者看法欢迎讨论,谢谢!


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    • 已标记为答案 shellyqiu 2013年8月19日 8:23
    2013年8月19日 5:31
    版主

全部回复

  • 右键引用的是已经封装好的DLL类库,可以是系统的,也可以是人为做的。这只是一个类库引用,如果代码中并没有使用到。

    至于手动输入Import……,那是表示我需要在此处(某个文件)引用这个类库,以后的程序或许需要使用这些方法,可能就我所知,无法一次性引入(因为系统并不知道你要在哪些文件中使用哪些类库)。


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    • 已标记为答案 shellyqiu 2013年8月19日 8:23
    2013年8月19日 3:09
    版主
  • 可以在My Project-引用-导入的命名空间 里设置对于每个类和模块都默认引用的命名空间。

    但是如果你想引用的是类的话,例如System.Math,那么只能在每个类和模块的开头写Imports。

    • 已标记为答案 shellyqiu 2013年8月19日 8:23
    2013年8月19日 3:55
  • 但是如果你想引用的是类的话,例如System.Math,那么只能在每个类和模块的开头写Imports。

    我对此表示商榷;)

    如果一个类带有命名空间,必须用Imports引入该控件,方可使用这个类。

    如果一个类没有命名空间(比如Module),那么连Imports也不要。

    关于这一点可以参考:VB.NET中的模块

    有不同意见或者看法欢迎讨论,谢谢!


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    • 已标记为答案 shellyqiu 2013年8月19日 8:23
    2013年8月19日 5:31
    版主
  • 自己解决了,在解决方案资源管理器窗口中,双击“MyProject”,在打开的对话框中,左侧窗格选择“引用”,右侧窗格向下滚动,找到“导入的命名空间”列表,勾选所需的命名空间即可。

    但还有一个问题不明白,该对话框上面的“引用”列表和下面的“导入的命名空间列表”区别是什么?例如都有system,区别在哪里?

    2013年8月19日 8:27
  • 类和模块都有命名空间的,自己写的模块位于项目的默认命名空间里,可以在MyProject里看到,大约是WindowsApplication1之类的,不需要Imports是因为它会被自动放在导入的命名空间里。

    2013年8月19日 15:13
  • 上边的是引用dll,下面的是Imports命名空间。
    2013年8月19日 15:14
  • 类和模块都有命名空间的,自己写的模块位于项目的默认命名空间里,可以在MyProject里看到,大约是WindowsApplication1之类的,不需要Imports是因为它会被自动放在导入的命名空间里。

    可以没有,你右键项目,然后删除默认命名空间。这样就等于是公用的了。

    可以参考我的博文,谢谢!


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    2013年8月20日 1:08
    版主