【发布时间】:2012-06-05 08:55:51
【问题描述】:
我们的团队最近从 Visual Studio 2008/.NET3.5 迁移到 Visual Studio 2010/.NET4.0。现在,VS2010 给了我一个奇怪的错误信息。可以通过以下程序重现:
using System;
namespace Some.Main
{
}
namespace SomeLib
{
interface Some
{
}
}
namespace ConsoleApplication1
{
using Some.Main;
using SomeLib;
class Program
{
static void Main(string[] args)
{
Console.Write("Press enter to continue");
Console.ReadLine();
}
}
}
这在 VS2008 中运行良好,但在 VS2010 中我收到以下错误消息:
类型名称“Main”在类型“SomeLib.Some”中不存在
有趣的是,如果我点击“构建解决方案”,程序构建得很好,我什至可以毫无问题地执行它。只是 Visual Studio 似乎对这段代码有问题。
不幸的是,我正在开发一个大型遗留应用程序,我无法(轻松)更改这些命名空间的名称。
我想知道如何解决这个错误,我也很好奇是什么原因造成的。
【问题讨论】:
-
试试
using global::Some.Main; -
这很有趣。确切的代码在 Mono(最新)上编译。但是在 Visual Studio 2010 上,它没有
-
@MichaelBuen 更糟糕的是,因为在 Visual Studio 2008 上,它也可以编译。
-
ideone 在其 C# 中使用 Mono。在此处查看您的代码,编译良好ideone.com/zmLCO
-
或许询问 Eric Lippert 是个好主意。他可以解释差异
标签: c# .net .net-4.0 compiler-errors