繁体   English   中英

是否可以在同一个asp.net网站上安装C#和vb.net?

[英]Is it possible to have C# and vb.net in the same asp.net website?

是否可以在同一个asp.net网站上安装C#和vb.net? 没有在类库中分离。

在App_Code子文件夹中尝试创建2个新的子文件夹,一个用于C#类,另一个用于VB.NET类。 之后,在以下部分的web.config中指定这两个文件夹:

<system.web>

<compilation debug="true">

<codeSubDirectories>

<add directoryName="CSharp"/>

<add directoryName="VB"/>

</codeSubDirectories>

</compilation>

或者您可以使用其他语言创建新项目并添加参考。

否 - 编译器需要单独编译不同语言的代码文件。 AC#类库不能包含VB.NET代码,仅仅是因为编译器无法区分哪些代码文件是用哪种语言编写的。

如果您有一个Web应用程序项目,那么它是可能的。

如果您有一个网站项目,那么这是不可能的。

在非常理论的层面上,它是可能的。 正如这里的一些人所指出的那样,可以使用各种技术在同一个应用程序中创建多个类库,每个类库都用不同的编程语言编写。 最后,它模拟了用多种语言编写单个应用程序的体验。 我会说大部分时间应该足够了。

.NET还有一个鲜为人知的特性,CLR称为“网络模块”。 有关网络模块和程序集(甚至多文件程序集!)的说明,请参阅此博客文章

说完这一切之后,我的第一个建议就是选择一种语言并坚持下去。 如果这不是一个选项,拥有多个组件是一个不错的选择。 使用Florim提到的App_Code技巧将允许您将所有文件保存在一个项目中,即使ASP.NET将在磁盘上创建多个程序集(但您永远不会看到它们)。

如果您担心有多个程序集而不是多个项目,那么找出问题是有帮助的。 ASP.NET项目,无论如何,几乎总是被编译成多个程序集。 有一些技巧可以避免这种情况,但很少使用它们(例如aspnet_compiler和aspnet_merge)。

尝试时我发现你不能(默认情况下)在App_Code文件夹下的网站上有不同的语言。但对于其他文件(App_Code)是的,你可以。

为了能够在App_Code下使用不同的语言,您需要Florim提到的技术。

谢谢大家的帮助。

用不同的语言进行尝试是不可能的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM