2012-02-23 38 views
2

我正在为VS网站中的VB.NET默认语言开发网站项目的新功能。由于我的首选语言是C#,我创建了子文件夹在App_Code文件夹中添加C#代码,并将相应的codeSubDirectories元素添加到web.config文件中。问题是我不能在我的C#代码中引用VB.NET类。所有VB.NET类和结构都放在App_Code中的全局名称空间中。但即使我将一些VB.NET类放在我用于C#中类的相同名称空间中,我仍然无法使用它们。另外,我尝试将我的类移动到全局名称空间,但这对我也没有帮助。有多种语言的网站不能在C#代码中使用VB.NET类

enter image description here

回答

4

从文档codeSubDirectories

构建顺序是从codeSubDirectories列的自顶向下顺序推断的经文。 App_Code目录是最后建立的。

这意味着,当您的C#代码正在编译时,VB代码尚未在此时编译。你可能会尝试和分离基类等,并将它们放在一个较早的子目录或一个已编译的类库中,但我可能会建议在VB中编写代码 - 这不是很难写入,再用于其他 - 框架仍然是框架。

+0

非常感谢!更改'codeSubDirectories'节点的顺序可解决此问题。 – 2012-02-23 12:04:07

0

创建名为CSCode和VBCode App_Code文件夹下的两个文件夹。移动你的各个文件推崇夹

添加以下代码在web.config文件:

<codeSubDirectories> 
    <add directoryName="CSCode"></add> 
    <add directoryName="VBCode"/> 

    </codeSubDirectories> 

,然后尝试...

-Rakesh

+0

仍然是同样的问题 – 2012-02-23 11:51:41