2009-10-10 41 views
2

我们目前有一个asp.net网站,在VB.Net中开发了一些模块&一些在C#中(不仅仅是类,还包括单独的aspx页面和后面的代码) 。我们认为我们想要转向Web应用程序模型,因为我们需要使用TFS实现CI。asp.net web应用程序与c#&vb.net都在代码隐藏

问题:

当我们创建一个C#的Web应用程序,将文件从网站复制&说转换为Web应用程序它给Could not Parse errors(可能是因为文件是vb.net文件)

当我们创建一个VB.NET Web应用程序,复制&说转换为Web应用程序将其转换只vb.net页&上发布抛出错误在所有C#页说Could not load type

的asp.net网站将W上的文件正确使用多种代码隐藏语言支持。

帮助将不胜感激!

+1

当你有一个网站时,它的工作原因是因为代码没有被编译,直到它被需要,然后每个页面将被单独编译。使用一个Web应用程序,整个事情被编译成一个DLL,并且你不能在一个DLL中混合使用语言。 – ChrisF 2009-10-10 16:53:26

+0

我意识到投资已经完成,但为什么要使用两种语言?这看起来像是一场噩梦。 – NerdFury 2009-10-12 15:44:59

+0

这将是超级有用的。我们很想转移到一个web应用程序项目,但我们通常是vb,有很多c#页面隐藏着。 @NerdFury:两个原因:1.来自互联网的源码,如SqlProfileProvider,Blog,论坛代码。 2.开发人员想要使用新的语言功能,从其他地方复制/粘贴代码(我们的大部分源代码都是vb,但是有相当数量的新c#),并且不需要维护 - .net开发人员不需要通常很难读/写vb和c#IME。 – 2012-12-06 09:21:57

回答

0

把所有东西包含的C#代码App_Code文件夹名称为​​部分在你的web.config

附:这是如何完成的DotNetNuke

+0

如何处理个别的aspx页面,其中一些代码是vb.net,一些是c#? – hadi 2009-10-10 08:24:39

+0

哇...你必须解决这个问题,你不能只是交换这样的语言 – 2009-10-10 08:39:49

+0

它是一个很好的时候,它是一个asp.net网站。不在asp.net web应用程序中工作。我可以通过哪种方式使其工作,而无需重新编码我的整个代码以匹配语言? – hadi 2009-10-10 08:59:23

3

您可以将应用程序分成两个独立的Web应用程序,它们从相同的根目录运行?只要将编译好的C#dll与编译后的VB.net dll一起放入bin中,并将所有aspx页面放在需要用于网站结构的任何位置。

我没有尝试过这个,但它应该工作。您将不得不创建一个单独的项目并引用任何数据层等。只需将C#代码移动到新的应用程序中,然后看看结果如何。不是最好的解决方案,但它会跳动从一种语言转换为另一种语言。

+0

谢谢布伦特,你的解决方案的作品。 – esegura 2012-12-12 21:34:38

+0

只需添加一些有关我的工作的更多信息:两个Web应用程序项目(一个用于vb,一个用于c#)。让一个项目成为您的“主要” - 为您的项目创建一个项目参考。创建一个后期制作活动,以便将您的辅助项目位置中的所有.aspx复制到主要位置。这应该让你进入一个好地方。 – Matt 2016-02-24 22:37:45

0

您可以使用网站但不使用网络应用程序。另外请注意,如果您想要或需要这样做,Web应用程序确实没有任何网站缺乏的额外功能。 Web应用程序在某些环境中可以具有部署优势,但Visual Studio 2010和2012将轻松发布asp.net网站和Web应用程序。