我在vs 2010中创建了vb控制台应用程序项目,并添加了一个简单代码的类。
然后我用c#代码替换此代码,并且“我已将.vb的扩展名更改为.cs。
但我无法运行此应用程序,因为我遇到了错误:
在'Test_VB_ClassLibrary'中找不到'Sub Main'
我可以将我的项目转换为c#?
答案 0 :(得分:3)
我不知道你可以更改项目的语言 - 它会改变文件扩展名和所有内容。创建一个新项目可能更简单......如果你想让它在同一个地方,只需重命名并先移动旧项目。
编辑:如评论中所述,您可以更改语言。但是,请尽快做出正确的决定,或者创建一个新项目。
答案 1 :(得分:2)
您不仅可以更改文件扩展名,还可以使用此功能。涉及许多其他文件和设置。您的错误是因为C#中不存在“Sub Main”,而VB下的项目设置表明Sub Main是您应用的启动位置。
您必须创建一个新项目并重新编写代码。
答案 2 :(得分:2)
您最好重新创建项目,如果您真的想这样做,那么在记事本/文本编辑器中打开vbproj
文件,找到以下内容行:
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
将其更改为以下内容:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
您还需要将文件重命名为.csproj
扩展名,以便Visual Studio正确显示项目。
您当前的构建问题是由于启动对象的名称也已更改而引起的 - 要解决此问题,请转到项目属性下的“应用程序”选项卡,并确保正确设置了启动对象属性。
此时您的项目现在是一个C#项目文件 - 项目中存在的任何.vb文件(包括设计器生成的文件)都无法正确构建,您需要删除它们或将它们转换为C#。
此有效(我已尝试过),但是如果设置了错误的MSBuild属性,则很可能会遇到其他问题,例如执行上述步骤后:
我的建议再一次是从头开始重新创建项目。