2011-03-11 37 views
0

我目前正在与脚本#(版本0.6.3)的抱怨下面的代码打转转:脚本#和命名空间 - 编译错误

检查你的C#源代码编译,并且您使用的不是不支持的功能

[PROJECTDIR] \空间1 \ Bar.cs:

using Application1.Space2; 

namespace Application1.Space1 
{ 
    public sealed class Bar 
    { 
     private void Baz() 
     { 
      IFoo foo = null; 
      foo.Do(); //Here 
     } 
    } 
} 

[PROJECTDIR] \空间2 \ IFoo.cs:

namespace Application1.Space2 
{ 
    public interface IFoo 
    { 
     void Do(); 
    } 
} 

该代码在常规csc.exe下编译时没有任何错误
我在做什么错?可能发生

回答

1

我认为这是与当前版本的问题。如果将类文件移动到项目的根目录下,它是否工作?

编辑:更正,这是由于当前版本的更改。从@scriptsharp通过twitter:“web app project产生多个脚本(每个文件夹)。如果你不需要这个模型,只需使用一个class lib项目.HTH。”它并不习惯这样做。仍然不完全解释它输出可怕的错误信息的原因。我喜欢它迫使你将应用程序逻辑从对象模型中分离出来,但是如果这种变化被记录在某个明显的地方,那将会很好。我喜欢SS,并且非常希望看到它成长为一个更严重的开发/支持的应用程序。

+0

是的 - 类库似乎工作。谢谢! – Matthias 2011-03-28 16:00:41

0

此错误,如果您使用部分命名空间,例如:

using Application1; 

namespace Application1.Space1 
{ 
    public class Bar 
    { 
      public Space2.Foo GetFoo() 
      {} 
    } 
} 

以上会产生一个编译器错误,而:

using Application1; 

namespace Application1.Space1 
{ 
    public class Bar 
    { 
      public Application1.Space2.Foo GetFoo() 
      {} 
    } 
} 

将编译没有错误。

我也有它的发生是:修正了

object.method().property.method(); 

variable = object.method(); 
variable.property.method();