c# - 在 ASP.Net 网站项目中混合使用 VB.Net 和 C# 代码?

标签 c# asp.net vb.net web-site-project

这个问题比较老,而且经常被问到,我在这里也有类似的问题,但我的问题更具体一些。

Q1。在 ASP.Net 网站中混合使用 C# 和 VB.Net 代码是否合法?行不行?如果它有效,它可能如何完成?任何 sample 都可以。

Q2。如果混合使用 C# 和 VB.Net 代码有任何影响,那么也请分享这些。

我有一个用 VB.Net 编码的 Web 项目。我正在研究该项目的一个模块。我想用 C# 编写代码。我无法将整个项目转换为 C#,因为我不是唯一一个从事该项目的人。但是,我打算构建的模块,我希望在 C# 中构建。

我听说在 Web 项目的情况下,如果我们用 C# 编码,用 VB.net 编码,那么在将项目编译为 dll 时会出现问题。真的吗?如果是,那么解决方案是什么。

此外,如果我在 .Net 中构建动态链接库,那么我可以混合使用 C# 和 Vb.Net 代码吗?

最佳答案

来自 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 根据子文件夹中的文件推断要使用的编译器。

关于c# - 在 ASP.Net 网站项目中混合使用 VB.Net 和 C# 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2339776/

相关文章:

c# - 在 AsyncFileUpload c# 中的 UploadComplete 后不重定向页面

c# - PowerShell cmdlet 中的 JSON.NET 错误解析类型

c# - 动态抛出 "Ambiguous Match Found"时为 "System.ArgumentException"

c# - 回发或回调参数无效。使用配置或 <%@ Page EnableEventvalidation =”true” %> 启用事件验证

mysql - 使用 VB.NET 将数据插入 MySQL 表

sql - 如何向 Sql CommandText 添加值

c# - 如何使用 roslyn (CodeFixProvider) 添加新区域

asp.net - 在 ASP.Net 上下载 .dae 文件时出现 HTTP 错误 404.3 - 未找到...

c# - c#查询结果中记录计数

mysql - VB.Net 在 MySQL 中删除和更新数据的代码是什么? (使用参数化查询)