在解决方案中结合C#和VB.NET

时间:2012-03-02 14:06:38

标签: c# .net vb.net visual-studio-2010

我有一个Winforms解决方案,主要由VB.NET项目(Wiforms,Constrols和业务类)组成。

如何,我在其中添加了一个WPF项目,但是用C#编写了它。

实际上,每次我在WPF C#项目中进行修改时,我都需要(重新)构建C#WPF项目。

是否可以选择使其像其他(VB.NET)项目一样工作(接受并“看到”更改而不重建C#项目)?

一个例子:

当我在项目“M.VB”中引用项目“R.VB”时,我在“R.VB”中添加了一个方法“DoTest”,并在“M.VB”中使用该方法而没有编译错误。

如果我在C#WPF控件中添加“DoTest”并尝试在“M.VB”项目中使用它,我收到编译错误“DoTest”不是“R.C#Class”的成员。

我的VS中的C#选项

enter image description here

5 个答案:

答案 0 :(得分:1)

不,C#确实支持后台编译。

答案 1 :(得分:0)

如果项目A引用项目B,则在重建项目B之前,A无法看到B中的更改。

但是,如果在重新编译引用项目之前需要自动完成和一些其他技巧,则可以使用查看源代码而不是编译输出的扩展名,例如ReSharper

答案 2 :(得分:0)

不 - 如果您更改了需要重新编译的代码,至少我认为这就是您所要求的。

答案 3 :(得分:0)

如果您需要动态构建,可以查看project Roslyn

更多信息here

“开发人员还可以使用此类软件的输出来执行重构,重组或更轻松地执行代码等任务,将C#和Visual Basic功能添加到用其他语言编写的程序中。它还为静态类型添加动态类型C#和Visual Basic,允许开发人员动态地向对象添加对象和新变量。“

答案 4 :(得分:0)

您是否在同一解决方案中同时拥有VB.NET项目和C#/ WPF内容?如果你这样做,他们应该自动重建。如果使用装配参考,则需要手动完成。据我所知,在.NET中不支持在不重建VB6风格的情况下更改代码......