【发布时间】:2010-03-11 05:50:12
【问题描述】:
我有一个用 vb.net 编写的现有 asp.net 项目。另一个人用 c# 编写了一个用户控件。
能否告诉我将 C# 用户控件添加到 vb.net 应用程序的步骤?
我尝试将它们复制到文件夹并使用“添加现有项目”,但它根本不编译后面的代码。
谢谢, 菲德尔
【问题讨论】:
我有一个用 vb.net 编写的现有 asp.net 项目。另一个人用 c# 编写了一个用户控件。
能否告诉我将 C# 用户控件添加到 vb.net 应用程序的步骤?
我尝试将它们复制到文件夹并使用“添加现有项目”,但它根本不编译后面的代码。
谢谢, 菲德尔
【问题讨论】:
使用 c# 创建一个新的 asp.net 用户控件库项目,将 C# 用户控件添加到该项目,而不是在您的 Visual Basic 项目中添加对该库的引用,就是这样;)
【讨论】:
您可以使用this工具将控件添加到VS工具箱中。
使用示例(根据您的 VS 版本选择 /vs2005 或 /vs2008):
TOOLBOX.EXE [/vs2005] [/vs2008] /installdesktop assembly tabname
【讨论】:
C# 控件需要位于单独的 dll 中。然后,您可以在 vb 项目中添加对此 dll 的引用。然后像平常一样在页面指令或者web.config中注册控件。
【讨论】:
只是想添加另一种方法来实现这一点,因为我正要问一个关于这个主题的问题并想出了解决方案。
如果您确实需要将原始用户控制文件引入一个新项目,您会发现只需通过“添加 -> 现有项目...”添加它们将使每个文件独立进入解决方案,而不是构建它们正确地在解决方案资源管理器中。
诀窍是在 VS.NET之前打开 VS.NET 之外的 (2) 个关联的用户控制代码文件,然后将它们的命名空间修改为新项目的命名空间。因此,如果在旧项目中您的命名空间是:
MyOldProject.CustomControls
...您需要将.cs 和.Designer.cs 中的名称重命名为:
MyNewProject.CustomControls
然后当你回到 VS.NET add 添加所有现有项目时,它们将按如下方式正确排列:
MyControl.cs
-->MyControl.Designer.cs
-->MyControl.resx
-->MyControl
【讨论】: