叶子的家

~●    ~●  ~●          ~●   ~●~●                           ○
    离成功还很远,距离长着叻,Fighting!
posts - 37, comments - 680, trackbacks - 17, articles - 1
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

调试MonoRail程序的三种方法

Posted on 2005-08-29 13:00 绿叶 阅读(4149) 评论(6) 编辑 收藏
        最近在研究MonoRail,但是MonoRail的Generator所生成的项目输出类型是“类库”,那么如何调试它呢?我摸索了下,有以下三种方法:

1)用“附加进程”
        这里附加不是附加到IEXPLORE.EXE,而是附加到aspnet_wp.exe。附加后进入调试状态,然后你打开IE,输入地址就可以了。如果你是用Cassini的话,那就附加到Cassini.exe。


2)创建一个新的控制台项目加入原有项目,用Cassini来调试。你只需要加入一下代码:
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
    Server server 
=    new Server(8080@"/"@"D:\NetUDisk\NetUDisk");
    server.Start();

    Process.Start(
"IExplore.exe""http://localhost:8080/");

    Console.ReadLine();

    server.Stop();
}


3)把lib项目文件转换成web项目文件,转换方法如下:(假设项目名称为:NetUDisk)
        a-建立虚拟目录指向项目所在的目录
        b-用文本编辑器打开NetUDisk.csproj把的第三行ProjectType = "Local"更改成ProjectType = "Web"
        c-新建立一个名字叫NetUDisk.csproj.webinfo的文件,里面内容如下:
<VisualStudioUNCWeb>
    
<Web URLPath = "http://localhost/NetUDisk/NetUDisk.csproj" />
</VisualStudioUNCWeb>
        d-在web.config里面的<system.web>下加入:
<compilation 
         
defaultLanguage="c#"
         debug
="true"
    
/>
        
        好了,就4步,当然另外一种转换方法是用vs.net新建一个asp.net的项目,然后把所有的文件都移到项目文件夹里面,最后别忘记修改web.config哦。

Feedback

#1楼  回复 引用   

2005-08-29 19:48 by 四海为家[未注册用户]
正确的调试方式是,在项目的调试属性里, 设为通过url启动,把url设为该项目的网址即可

#2楼[楼主]  回复 引用 查看   

2005-08-29 20:08 by 绿叶      
@四海为家
多谢你指出这种方法,也很简便,不过好像只会对IIS有效,而对Cassini无效。

#3楼  回复 引用   

2006-02-28 12:31 by 四海为家[未注册用户]
忘提了, 在项目的调试属性里,, 除了设为通过url启动外, 还要把上面的"启用asp.net调试"设为true

#4楼  回复 引用   

2006-03-19 17:35 by 小愈[未注册用户]
你好,看了你的文章后对我很受用,在这里先对你说声谢谢,我很渴望学习CS2。0下载以后,发现不能调试,经过一番周折,调试是可以了,但是我没有改动过一点的源代码,调试却错误,提示说“文件‘CommunityServer.Components’的格式无效”,我实在没办法了,感觉也许你能告诉我解决的办法,所以给你留言了,如果可以的话能否在看到这个消息的时候给我一些帮助呢,不胜感激!我的MSN是pengyu0218@hotmail.com我的QQ是28397652,静候佳音

#5楼  回复 引用   

2006-08-09 15:28 by zhaojc[未注册用户]
正确的调试方式是,在项目的调试属性里, 设为通过url启动,把url设为该项目的网址即可

我按你的方法调试不成功.

#6楼  回复 引用   

2006-11-26 10:44 by kylix[匿名][未注册用户]
最简单的方法:
用文本编辑器打开NetUDisk.csproj把的第三行<ProjectType>Local</ProjectType>
更改成
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>