SharpDevelop 2.1 研究之一

来源:互联网 发布:打开图片的软件 编辑:程序博客网 时间:2024/06/05 18:54
SharpDevelop 51 个项目
3大部分:AddIns/Libraries/Main
2大问题:核心是什么?插件是怎么载入的?

移除AddIns后编译。
========================================================
编译
--------------------------------------------------------
AddIns 文件夹内的项目移除后,编译失败
有10个项目,8个编译成功,编译信息如下:
Build started.
正在编译 NRefactory
正在编译 ICSharpCode.SharpDevelop.Widgets
正在编译 ICSharpCode.Core
正在编译 ICSharpCode.SharpDevelop.Dom
正在编译 WinFormsUI
正在编译 ICSharpCode.TextEditor
正在编译 ICSharpCode.SharpDevelop
正在编译 ICSharpCode.SharpDevelop.Sda
C:/Program Files/MSBuild/Microsoft/VisualStudio/v8.0/CodeAnalysis/Microsoft.CodeAnalysis.targets(46,4) : 错误 MSB4018: “CodeAnalysis”任务意外失败。
System.NullReferenceException: 未将对象引用设置到对象的实例。
   在 Microsoft.Build.Tasks.CodeAnalysis.GenerateFullPathToTool()
   在 Microsoft.Build.Tasks.CodeAnalysis.Execute()
   在 Microsoft.Build.BuildEngine.TaskEngine.ExecuteTask(ExecutionMode howToExecuteTask, Hashtable projectItemsAvailableToTask, BuildPropertyGroup projectPropertiesAvailableToTask, Boolean& taskClassWasFound)
Build finished successfully.


错误是 MSBuild 报出来的吗?
MSBuild 是如何调用的?
编译信息是怎么显示在编译窗口里的?
选中不同的文件,Build 的菜单项也不一样。

程序调用了 Microsoft.Build 框架
Build.Engine 的消息显示指向taskservice任务服务的消息显示板
菜单项有个condition对于是否显示、是否可用加了条件控制

ICSharpCode.Develope.Sda 编译错误
问题原因不明。

----------------
代码分析定义
----------------
查找msbuild帮助未果。
运行.bat编译文件时发现错误提示:在执行对ICSharpCode.Develope.Sda的代码分析时,FXCop 没找到。
下载重装,并设置环境变量 FXCOPDIR = "C:/Program Files/Microsoft FxCop 1.35"
在vs2005命令行下执行命令,又有因为路径中带空格找不到文件的问题。
msbuild 的配置文件 C:/Program Files/MSBuild/Microsoft/VisualStudio/v8.0/CodeAnalysis/Microsoft.CodeAnalysis.targets

执行代码分析的定义:
在文件 ICSharpCode.SharpDevelop.Sda.csproj 中有一个节点 <RunCodeAnalysis>True</RunCodeAnalysis>

如何去掉这个错误哪?
这是路径中带有空格的问题,多次尝试未能解决问题;msbuild 是如何将配置项转换成命令行的哪?
 
原创粉丝点击