首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在同一项目中混合使用C#和VB

在同一项目中混合使用C#和VB
EN

Stack Overflow用户
提问于 2009-08-14 14:01:14
回答 17查看 148.9K关注 0票数 161

你可以在一个类库的同一项目中混合使用vb和c#文件吗?有没有一些设置可以让它成为可能?

我试过了,没有一个intellisense能很好地工作,尽管后台编译器似乎能很好地处理它(除了我在同一个名称空间中有两个同名的类,而且它没有抱怨)。

我们正在尝试从VB转换到C#,但是还没有完成所有代码的转换。我有一些新的代码需要写,但并不是真的想为它做一个新的项目。

EN

回答 17

Stack Overflow用户

回答已采纳

发布于 2009-08-14 14:06:14

不,你不能。一个程序集/项目(每个项目通常编译成一个程序集)必须是一种语言。但是,您可以使用多个程序集,并且每个程序集都可以用不同的语言编码,因为它们都编译为CIL。

它编译得很好,没有任何问题,因为VB.NET项目实际上只编译.vb文件,而C#项目实际上只编译.cs文件。它忽略了其他的,因此你没有收到错误。

编辑:如果您将.vb文件添加到C#项目中,请在解决方案资源管理器面板中选择该文件,然后查看属性面板,您会注意到构建操作是“内容”,而不是“编译”。它被视为一个简单的文本文件,甚至不会作为二进制资源嵌入到编译后的程序集中。

编辑:使用asp.net网站的您可以将c# web用户控件添加到vb.net网站

票数 134
EN

Stack Overflow用户

发布于 2010-10-21 22:18:22

实际上,几年前我从一位同事那里继承了一个项目,他决定在同一个项目中混合使用VB和C# webforms。这很有效,但维护起来一点也不有趣。

我决定新代码应该是C#类,为了让它们正常工作,我必须在web.config的编译部分添加一个子节点

代码语言:javascript
复制
        <codeSubDirectories>
            <add directoryName="VB"/>
            <add directoryName="CS"/>
        </codeSubDirectories>

所有VB代码放入App_Code中名为VB的子文件夹中,C#代码放入CS子文件夹中。这将生成两个.dll文件。它可以工作,但代码的编译顺序与"codeSubDirectories“中列出的顺序相同,因此,如果在C#和VB中都使用接口,则接口应位于VB文件夹中。

中有对VB和C#编译器的引用。

代码语言:javascript
复制
<system.codedom>
    <compilers>

该项目目前已更新到框架3.5,并且仍然可以正常工作(但维护起来仍然没有乐趣。)

票数 33
EN

Stack Overflow用户

发布于 2009-08-14 14:05:28

您不能在同一项目中混合使用vb和c# -如果您注意到在visual studio中,项目文件是.vbproj或.csproj。你可以在一个解决方案中-在vb中有一个项目,在c#中有一个项目。

根据这一点,您可以在App_Code目录下的web项目中使用它们:

http://pietschsoft.com/post/2006/03/30/ASPNET-20-Use-VBNET-and-C-within-the-App_Code-folder.aspx

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1278024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档