这个问题比较年长,经常被问到,我在这里有类似的问题,但我的问题更具体一些。
Q1。在ASP.Net网站中混合C#和VB.Net代码是否合法?会不会工作?如果它的工作原理如何呢?任何样品都会很好。
Q2。如果混合C#和VB.Net代码有任何影响,那么请分享一下这些。
我有一个在VB.Net编码的Web项目。我正在研究项目的一个模块。我想在C#中编码。我不能将整个项目转换为C#,因为我不是唯一一个从事项目的项目。然而,我打算构建的模块,我想拥有内置的C#。
我听说过在Web项目的情况下,如果我们编写C#中的一部分并且部分在VB.net中,那么在将项目编译成dll时会出现问题。真的吗?如果是,那么什么是解决方案。
解决方法
从
http://msdn.microsoft.com/en-us/library/t990ks23.aspx:
App_Code文件夹中的多种编程语言
因为App_Code文件夹中的源代码被编译成单个程序集,App_Code文件夹中的所有文件必须使用相同的编程语言。例如,App_Code文件夹不能包含Visual Basic和C#中的源代码。
但是,您可以将Web应用程序配置为将App_Code文件夹的子文件夹视为单独的可编译单元。然后,每个文件夹都可以包含不同编程语言的源代码。通过在Web.config文件的编译元素中创建一个codeSubDirectories元素并添加对子文件夹的引用来指定配置。以下示例说明如何将名为VBCode和CSCode的子文件夹配置为单独的程序集:
<compilation debug="false"> <codeSubDirectories> <add directoryName="VBCode" /> <add directoryName="CSCode" /> </codeSubDirectories> </compilation>
对VBCode和CSCode子文件夹的引用不需要包含关于子文件夹中包含什么编程语言的任何信息。与App_Code文件夹本身一样,ASP.NET推断编译器根据子文件夹中的文件使用。