2

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

我试图在要编译的 vb 类文件上设置 Build Action,但这只会导致文件无法构建。(在注释行“字符文字中的字符过多”和导入“命名空间不能直接包含字段或方法等成员”时出现错误)。我也尝试过“使用” 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 窗体。

4

1 回答 1

1

VB 和 C# 代码可以共存于同一个 App_Code 中。请参阅此页面以了解如何操作。基本上,您只需将每个文件分开到它们自己的目录中并修改您的 web.config。

于 2012-06-08T17:33:39.303 回答