【发布时间】:2010-10-14 16:38:50
【问题描述】:
我刚刚在 VS2010 和 Script# 中遇到了一个非常奇怪的问题,大多数时候我都可以重新创建。
在我的简单场景中,我的解决方案中有 2 个项目;一个标准的 Asp.Net MVC2 Web 应用程序和一个 Script# jQuery 类库。我创建了一个带有静态方法的静态类(属性为 [Imported]),其目的是我可以将代码中的此类映射到外部 Javascript 库,如文档中所述。
但是,似乎每当我用 [IgnoreNamespace] 装饰这样一个类来实现这个目标时,项目就会停止成功编译,但没有给我任何关于它失败原因的反馈(错误窗口中没有错误,因为例子)。摆脱它们也不是一件容易的事,因为 Visual Studio 似乎进入了不构建失败的永久状态;删除类和项目文件并不能解决它,也不能重新启动 Visual Studio。让 VS 成功构建项目的唯一方法是完全删除项目,创建一个新项目,然后重新添加文件,至少可以说这很烦人。
通过详细的构建输出设置,我得到以下信息:
在项目“e:\project\local\ScriptSharpDemo\Scripts\Scripts.csproj”中的文件“C:\Program Files (x86)\ScriptSharp\v1.0\ScriptSharp.targets”中定位“AfterCompile”(目标“编译”取决于它): 任务“ScriptCompilerTask” 完成执行任务“ScriptCompilerTask”——失败。 在项目“Scripts.csproj”中完成构建目标“AfterCompile”——失败。
.. 这并不能告诉我很多。
有几次我设法创建了这种类型的类,然后成功构建,但大多数情况下我可以非常可靠地重现这个问题。
在这一点上,我倾向于认为错误在于 Script#,但只想确认这一点,并找到可能的解决方法(如果有的话)。
【问题讨论】:
-
您应该减少您尝试导入的课程并在此处发布。
-
另外,您使用的是最新版本的编译器吗?如果您还没有,请尝试 0.6.1.0。
-
感谢您的回复。我已经意识到,只有在尝试将新类插入 Script# 项目时选择“Add Class..”项,而不是选择“Add Item..”然后从那里选择 Script# 类,才会出现此问题.一旦您使用第一种方法添加了一个类,它就会使项目无法使用。这确实有道理;我显然必须使用正确的方法将项目添加到项目中。尽管生成的文件看起来完全一样,但 S# 显然知道其中的区别并且不喜欢它。不幸的是,当您处于该区域时,这是一个容易犯的错误:(
-
我刚刚又遇到了这个问题,只是这次我使用正确的方法添加了一个新类。我刚去添加项目->脚本#->类,试图重建项目,现在它说构建失败,没有任何错误消息。我试过删除文件,清理/重建项目,但没有任何效果。我想您在开发过程中从未遇到过这种情况?是否有某种编译器缓存我可以清除以重新开始构建,而无需重新创建整个项目?我使用的是 0.6.2,但如上所述,0.6.1 也发生了这种情况。
标签: c# visual-studio-2010 compiler-construction script#