繁体   English   中英

从C#代码背后访问App_Code中的VB代码

[英]Accessing VB Code in App_Code from C# Codebehind

我正在VS中主要是用VB编写的Web项目(不是网站)上工作。 我正在使用C#创建一个新的Web窗体。 Web表单本身可以很好地工作,但是我无法访问App_Code文件夹中的类。 App_Code文件夹中的类是用VB.net编写的。

我试图在vb类文件上设置“构建操作”以进行编译,但这只会导致文件无法构建。 (在注释行上出现错误“字符文字中的字符太多”,并导入“名称空间不能直接包含诸如字段或方法之类的成员”)。 我也尝试过“使用” App_Code文件夹,但找不到它。

任何有关如何解决或解决问题的建议将不胜感激。

-编辑-

如果您以“ Web应用程序”而不是“网站”打开网站,Visual Studio的行为似乎会有所不同。 我猜这是因为它正在打包文件之类的东西。 抱歉,我没有意识到这一点,这就是造成此问题的原因。 该网站是用VB编写的CMS系统,但是我正在用C#构建自定义的用户控件/ Web表单,当我将其作为网站而不是Web应用程序使用时,此方法可以正常工作。 我们正在尝试将此CMS系统迁移到Azure,我从全新安装CMS系统开始。 从站点创建Web角色的唯一方法是使用Web应用程序。 这就是为什么在站点在Azure上运行并开始为CMS创建自定义模块之前,我没有发现此问题的原因。

---编辑:解决方法---

我从头开始安装CMS,重新进行安装,然后将其导入Web应用程序项目。 然后,我创建了两个新的库,一个C#库和一个VB库。 我将App_Code文件夹中的代码移到了VB库中,并在Web应用程序项目和C#库中都对该库进行了修改。 我引用了Web应用程序项目中的C#库,并在C#库中添加了构建操作,以将.aspx和.ascx文件复制到Web应用程序项目代表文件夹中。 现在,我可以使用C#作为语言来创建新的Web控件和Web窗体。

VB和C#代码可以在同一App_Code中共存。 请参阅此页面以了解操作方法。 基本上,您只需要将它们各自分成各自的目录,然后修改您的web.config。

暂无
暂无

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

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