Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ASP.Net网站项目中混合使用VB.Net和C#代码?_C#_Asp.net_Vb.net_Web Site Project - Fatal编程技术网

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

在ASP.Net网站项目中混合使用VB.Net和C#代码?,c#,asp.net,vb.net,web-site-project,C#,Asp.net,Vb.net,Web Site Project,这个问题比较老,经常被问到,我这里也有类似的问题,但我的问题更具体一些 问题1。在ASP.Net网站中混合使用C#和VB.Net代码合法吗?这行不行?如果可行,可以怎么做?任何样品都可以 问题2。如果混合使用C#和VB.Net代码会产生任何影响,那么也请分享 我有一个用VB.Net编写的web项目。我正在做这个项目的一个模块。我想用C#编码。我无法将整个项目转换为C#,因为我不是唯一一个参与该项目的人。然而,我想要构建的模块,我想在C#中构建它 我听说在web项目中,如果我们用C#编写部分代码,

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

问题1。在ASP.Net网站中混合使用C#和VB.Net代码合法吗?这行不行?如果可行,可以怎么做?任何样品都可以

问题2。如果混合使用C#和VB.Net代码会产生任何影响,那么也请分享

我有一个用VB.Net编写的web项目。我正在做这个项目的一个模块。我想用C#编码。我无法将整个项目转换为C#,因为我不是唯一一个参与该项目的人。然而,我想要构建的模块,我想在C#中构建它

我听说在web项目中,如果我们用C#编写部分代码,用VB.net编写部分代码,那么将项目编译成dll时就会出现问题。这是真的吗?如果是,那么解决方案是什么

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

来自:

应用程序代码文件夹中的多种编程语言

由于App_code文件夹中的源代码编译为单个程序集,因此App_code文件夹中的所有文件必须使用相同的编程语言。例如,App_Code文件夹不能同时包含Visual Basic和C#中的源代码

但是,您可以将Web应用程序配置为将App_Code文件夹的子文件夹视为单独的可编译单元。每个文件夹可以包含不同编程语言的源代码。通过在Web.config文件的compilation元素中创建CodeSubdirectory元素并添加对子文件夹的引用来指定配置。以下示例说明了如何配置名为VBCode和CSCode的子文件夹以编译为单独的程序集:

<compilation debug="false">
    <codeSubDirectories>
        <add directoryName="VBCode" />
        <add directoryName="CSCode" />
    </codeSubDirectories>
</compilation>


对VBCode和CSCode子文件夹的引用不需要包含有关子文件夹中包含的编程语言的任何信息。与App_Code文件夹本身一样,ASP.NET根据子文件夹中的文件推断要使用的编译器。

如果您执行所需的代码作为控件,则可以在同一项目中混合使用它们。因此,如果主站点位于C#中,并且您将希望的VB部分作为ascx控件,那么您可以将其拖放到站点中


我不知道你能做到这一点,但一个团队成员在他正在做的一件工作上解决了这个问题

这里投票最多的答案只适用于网站项目,而不是Web应用程序项目。我认为很多开发人员通常使用“web应用程序”一词,而忽略了一个事实,即从技术上讲,它在.NET中是另一回事。Microsoft说,“默认情况下,Web应用程序是根据项目文件中的语言设置编译的。可以进行例外,但这相对比较困难。”因此,我假设唯一的方法是在一个解决方案中有两个单独的项目。(同样,网站项目没有解决方案或项目文件。)我不确定所有细节。

(同样,网站项目也没有解决方案或项目文件。)“实际上,它可以有解决方案文件(VS甚至可能提示您保存一个),但是的,它没有项目。@user692918:+1,标题和内容已更正。我有一个网站项目和其他几个项目的解决方案。上述解决方案适用于web应用程序项目吗?我有多个项目的大型web应用程序。我将在c#上添加新的更改,使用相同的web项目和其他类库项目。这对我有用吗?给出的解决方案适用于网站项目。然而,Steve询问了一个web应用程序项目,该项目不使用app_代码文件夹。