Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VisualStudio2008中混合语言的困境_C#_Asp.net_Vb.net_Visual Studio 2008 - Fatal编程技术网

C# VisualStudio2008中混合语言的困境

C# VisualStudio2008中混合语言的困境,c#,asp.net,vb.net,visual-studio-2008,C#,Asp.net,Vb.net,Visual Studio 2008,我正试图找出如何在VisualStudio2008中获得混合语言支持。在我的app_code文件夹中,我创建了两个子文件夹(CS、VB),并将以下内容添加到web.config文件中: <compilation> <codeSubDirectories> <add directoryName="VB" /> <add directoryName="CS" /> </codeSubDirectories> <

我正试图找出如何在VisualStudio2008中获得混合语言支持。在我的app_code文件夹中,我创建了两个子文件夹(CS、VB),并将以下内容添加到web.config文件中:

<compilation>
  <codeSubDirectories>
    <add directoryName="VB" />
    <add directoryName="CS" />
  </codeSubDirectories>
</compilation>

主应用程序是一个VB.NET Web应用程序(带有.vbproj文件)

每当我试图从app_code\cs文件夹中打开一个C#文件时,它都会将该文件视为Visual Basic,用于编译和语法检查。它仍然试图在CS文件夹中构建类,就好像它们是visualbasic一样。(这些类的扩展名实际上是.cs。)


如果您能帮助我们解决这个问题,我们将不胜感激。

我认为该语言是在项目级别定义的。您可以始终将C#文件放入单独的C#类库项目中,然后从Visual Studio中的web应用程序中引用该项目。

如评论中所述,您使用的是web站点项目而不是web应用程序项目。网站项目是为了向后兼容而存在的,不应用于新的应用程序开发

如果使用Web应用程序,可以在项目中混合和匹配.cs和.vb类文件。不需要配置


我不知道你可以在VS中的一个项目中混合语言。迈克:我想你有一个网站,而不是一个web应用程序项目。“是这样吗?”约翰,说实话,我不能完全肯定。有没有一种方法可以让我明确地告诉你?@Mike:你有.csproj或.vbproj文件吗?如果是这样的话,那么你就有了一个Web应用程序项目(这是一件好事)。@Mike Hofer-这是一个学术练习(即“可以完成吗”)还是一个实际问题(“我想在项目中使用这种方法”)。两个都很好,只是好奇它是什么。我认为他没有一个项目。我想他有一个网站。这个项目有一个.VBPROJ文件,我为它定义了后期构建步骤。如果Daniel Knoodle的链接是准确的,那么它是一个Web应用程序,而不是一个网站。@Mike:那么请更新您的问题以表明它是一个Web应用程序项目(这是“正确的做法”)。@John:原来的问题确实说明了这一点。@Mike:您说的是“VB.NET Web应用程序”,但人们会混淆Web站点和应用程序。说有一个.vbproj文件是肯定的。虽然我不喜欢网站“项目”,但它们不是为了向后兼容。微软在VS2005中实际上认为这就是我们想要创建web应用程序的方式。我们不得不告诉他们他们错了,在VS2005SP1中,他们纠正了他们的误解。@JohnSaunders在VS2008&2010中仍然保留向后兼容性。VS2008及以上版本的MS文档说明了如何使用Web应用程序项目。在过去的问题上,我曾亲自与微软的几位人士讨论过这个问题。不管怎样,我的答案怎么能保证投反对票呢???我用一个新的VS2008项目做了一些进一步的测试@迈克,我不知道为什么会有问题。我能够将C#和VB类添加到Web站点和Web应用程序项目中。事实上,当我在网站项目中选择AddNewItem时,它会询问我想要使用哪种语言。我可以添加任何一种语言的类,并且可以毫无问题地编译/运行。我只做了一个新项目。在你的机器上尝试一下,也许是你的项目中有什么东西阻止了它。