`

用SharpDevelop 4学习Silverlight 4.0笔记

阅读更多

 

(待修改)

 

注意,与Visual Studio无关,因为我觉得那个搭建不方便。

后来发现SharpDevelop可以用来开发Silverlight,但好像不能断点调试。

 

一、安装:

大部分安装包都可以在Microsoft下载中心找到

http://www.microsoft.com/downloads/zh-cn/default.aspx

然后依次安装(Windows XP系统可能预装了,所以有些可以无视)

 

1. Windows Installer 4.5 Redistributable - 简体中文

WindowsXP-KB942288-v3-x86.exe

http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=5a58b56f-60b6-4412-95b9-54d056d6f9f4

 

2. Microsoft .NET Framework 4 (Standalone Installer)

(需要环境:

Windows Installer 3.1 或更高版本

Internet Explorer 5.01 或更高版本)

http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=0a391abd-25c1-4fc0-919f-b21f31ab88b7

 

3. SharpDevelop 4.0 

http://www.sharpdevelop.net/OpenSource/SD/Download/#SharpDevelop4x

 

4. Upgrade Microsoft Silverlight for a better Web experience

http://www.microsoft.com/getsilverlight/Get-Started/Install/Default.aspx

 

5. Microsoft Silverlight 4 SDK

http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=298170d6-567c-4b90-9917-490ffcddba87

 

6. Microsoft Silverlight 4 脱机文档

http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=b6127b9b-968c-46c2-8cb6-d228e017ad74

 

7. SilverLight Runtime(即浏览器的SilverLight组件)

http://www.silverlight.net/getstarted/

右面的INSTALL NOW按钮:

http://go.microsoft.com/fwlink/?LinkID=149156

 

二、创建工程

运行SharpDevelop,File->New->Solution...->C#->Silverlight->Silverlight Application。

填写Name,然后按Create创建工程。

发现自动生成了两个xaml文件,分别关联两个cs文件。

双击MainPage.xaml,然后在打开文件的下方按Design的标签页打开设计视图。

点击左面Projects视图旁边的Toos视图,把一个Button控件拖放进去。

 

三、修改工程属性,运行工程

因为Silverlight SDK4对于SharpDevelop有个bug,详细见

http://community.sharpdevelop.net/forums/p/11826/32400.aspx#32400

需要修改平台属性。

对Projects中的工程名右键,在菜单中选择Properties,打开属性页

点击Compiling页,找到Target CPU的下拉框,

把32 bit Intel-compatible processor改为Any processor。

然后菜单->Build->Set platform->Any CPU。

调试时按Debug Run会打开IE。

如果正常应该可以看到浏览器里出现一个按钮。

 

四、输出调试信息

好像无法下断点进行单步调试,不过可以输出trace信息到DbgView。

因为System.Diagnostics名字空间的Debug可以把内容输出到VS调试窗口。

所以这样修改代码:

首先切换到MainPage.xaml的Design页,点击右面Properties视图,按Events按钮,

在Click事件旁边双击,自动生成

void button1_Click(object sender, RoutedEventArgs e)

然后加入如下代码

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Threading;
using System.Diagnostics;

namespace testsl
{
	public partial class MainPage : UserControl
	{
		public MainPage()
		{
			InitializeComponent();
		}
		
		void button1_Click(object sender, RoutedEventArgs e)
		{
			//Console.WriteLine("hello");
			//see http://msdn.microsoft.com/en-us/library/system.diagnostics.debug(v=vs.95).aspx
			Debug.WriteLine("hello");
			//tb2.Text = "hello";
		}
	}
}

 

然后打开DbgView,

见http://technet.microsoft.com/en-us/sysinternals/bb896647

运行后,点击浏览器里的按钮,可以看到DbgView中输出hello。

 

20110403补充:

使用Debug.Assert()方法则以对话框形式显示堆栈回溯(一种不优雅但可以考虑的方法)

 

五、反编译dll/xap

可以用.NET Reflector反编译刚才生成的dll文件(拖入dll文件,然后右键->Disassemble)

http://www.red-gate.com/products/dotnet-development/reflector/

如果反编译时弹出对话框Assembly File Selector,可以选择Silverlight安装目录下的相应名称的dll。

 
20110322补充:
如果要反编译xap或xaml,需要安装SilverlightLoader插件,见
需要Open Silverlight...->添加网址->选中dll,然后反编译
 
20110403补充:
xap文件可以改后缀名为zip,里面带有程序集dll,可以用反编译器查看。
 
六、OOB部署
脱离浏览器运行的方法可以参考帮助文档->应用程序和编程模型->如何为浏览器外支持配置应用程序
在SharpDevelop中的方法是在工程树->Properties->Properties\AppManifest.xml中加入
 
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
    <Deployment.Parts>
    </Deployment.Parts>
	
    <Deployment.OutOfBrowserSettings>
       <OutOfBrowserSettings 
            ShortName="Out-of-Browser Application" 
            EnableGPUAcceleration="True"
            ShowInstallMenuItem="True">
            <OutOfBrowserSettings.Blurb>
                Demonstrates the out-of-browser feature.
            </OutOfBrowserSettings.Blurb>
            <OutOfBrowserSettings.WindowSettings>
                <WindowSettings 
                    Title="Out-of-Browser Example"
                    Height="600" Width="600" 
                    Left="0" Top="0" WindowStartupLocation="Manual"
                    WindowStyle="SingleBorderWindow"/>
            </OutOfBrowserSettings.WindowSettings>
            <OutOfBrowserSettings.SecuritySettings>
                <SecuritySettings ElevatedPermissions="Required" />
            </OutOfBrowserSettings.SecuritySettings>
        </OutOfBrowserSettings>
    </Deployment.OutOfBrowserSettings>

</Deployment>
 详细的配置见Silverlight的帮助文档。浏览器运行时右键菜单将多出一项“安装到计算机”或者“删除”。
 
(待补充)
 
20110403:添加(六),更改(四)、(五)
 
分享到:
评论

相关推荐

    SharpDevelop_4.0.0.7070 中文版

    SharpDevelop 是一个用于制作C#或者VB.NET的项目而设计的一个编辑器,同时,这个编辑器本身就是使用C#开发的,而且公开了全部源代码,因此这个工具本身也是学习C#以及软件开发规范的一个很好材料。 SharpDevelop 这...

    SharpDevelop_4.0.0.7070_Source

    《深入探索SharpDevelop 4.0.0.7070源码》 SharpDevelop,作为一款优秀的开源集成开发环境(IDE),为程序员们提供了一个高效且自由的选择。这款工具以其强大的功能集和开放源码的特性,在软件开发领域赢得了广泛的...

    SharpDevelop_inside_SharpDevelop_

    通过深入研究SharpDevelop,我们可以学习到许多关于C#编程、软件工程实践以及.NET框架的知识点。 首先,SharpDevelop的核心功能包括源代码编辑器,它支持语法高亮、自动完成和错误检查等特性,这些都是现代IDE必不...

    .net 4.0的sharpdevelop4 IronPython ADDIN补丁

    .net 4.0的sharpdevelop4 IronPython ADDIN补丁。把补丁复制到sharpdevelop 4的Python Addin目录:C:\Program Files\SharpDevelop\4.4\AddIns\BackendBindings\PythonBinding\。也就是相应的补丁所在目录。无需注册...

    SharpDevelop_4.0.0.7070_Source_Src

    《SharpDevelop 4.0.0.7070 源码解析:探索开源代码编辑器的秘密》 SharpDevelop,作为一个开源的代码编辑工具,为开发者提供了强大的功能和灵活性,尤其是在.NET框架下进行开发时。这个名为"SharpDevelop_4.0.0....

    sharpdevelop源码分析

    SharpDevelop是完全用C#编写的开源集成开发环境(IDE),它具有现代IDE所需的所有高级功能特性,包括代码编辑、调试、编译、版本控制等。本书《Dissecting a C# Application Inside SharpDevelop》通过SharpDevelop...

    SharpDevelop 4.0

    SharpDevelop 是一个用于制作C#或者VB.NET的项目而设计的一个编辑器,同时,这个编辑器本身就是使用C#开发的,而且公开了全部源代码,因此这个工具本身也是学习C#以及软件开发规范的一个很好材料。 SharpDevelop 这...

    SharpDevelop v4.4.0 Build 9722

    SharpDevelop 是一个用于制作C#或者VB.NET的项目而设计的一个编辑器,同时,这个编辑器本身就是使用C#开发的,而且公开了全部源代码,因此这个工具本身也是学习C#以及软件开发规范的一个很好材料。 SharpDevelop 这...

    SharpDevelop_5.0.0源码

    4. `debugbuild.bat`:这个批处理文件用于构建调试版本的SharpDevelop,方便开发者进行调试和问题排查。 `README.md`文件通常包含项目的基本信息、使用指南、贡献方法等,是理解项目的重要入口。在这里,它可能包含...

    全面透视SharpDevelop软件的开发内幕 中英文版,附源码

    通过学习这本书,开发者不仅可以掌握SharpDevelop的使用技巧,还能了解到开源软件的开发模式和协作流程,对于提升.NET平台上的软件开发能力具有重要意义。同时,提供的源码和插件系统分析,使得读者有机会参与到开源...

    sharpdevelop(C#编程软件)

    SharpDevelop是一款开源、免费的C#...总的来说,SharpDevelop是一个功能齐全且易于使用的C#编程环境,它提供了许多与商业IDE类似的功能,而无需支付任何费用。对于初学者和专业开发者来说,它都是一个值得尝试的工具。

    SharpDevelop v4.4.2.9749 (v4目前最新版)

    SharpDevelop 是一个用于制作C#或者VB.NET的项目而设计的一个编辑器,同时,这个编辑器本身就是使用C#开发的,而且公开了全部源代码,因此这个工具本身也是学习C#以及软件开发规范的一个很好材料。 SharpDevelop 这...

    SharpDevelop_4.1 源代码

    7. **samples**:示例项目目录,提供了一些代码示例,演示如何使用SharpDevelop进行开发,对于新用户来说是很好的学习资源。 8. **data**:数据目录,可能包含用于测试或支持IDE功能的配置文件、资源文件等。 通过...

    SharpDevelop Reports 3.0.0.616 Source ,SharpDevelop analyze SharpPad_Ext

    SharpDevelop的设计目标是提供一个易于使用且功能丰富的开发平台,支持项目管理、代码编辑、调试以及构建过程。它的源代码结构清晰,模块化设计使得开发者能够轻松地理解和扩展其功能。在3.0.0.616版本中,Sharp...

    C#开发软件 SharpDevelop

    描述中的重复内容"**C#开发软件 SharpDevelop C#开发软件 SharpDevelop C#开发软件 SharpDevelop**"似乎是一个复制错误,但它强调了SharpDevelop是针对C#编程的,可能暗示其在C#开发中的重要性和广泛使用。...

    SharpDevelop_2.2

    4. **设计工具**:对于Windows Forms和WPF应用,SharpDevelop提供了可视化设计界面,使得UI布局和控件配置变得更加直观。 5. **版本控制集成**:它支持常见的版本控制系统,如Git、Subversion(SVN)和Mercurial,...

    SharpDevelop开发教程+内核源码分析

    通过这两份资料的学习,开发者不仅能熟练掌握SharpDevelop的日常使用,还能对.NET IDE的开发有更深入的理解,这对于想要参与开源项目或者自行开发类似工具的人来说是一份宝贵的资源。在阅读和实践过程中,建议配合...

    SharpDevelop自己动手创建应用程序界面设计器

    【标题】:SharpDevelop——构建应用...它的灵活性和强大功能使得它成为.NET开发者的得力助手,尤其是对于那些想要自定义界面设计工具或者学习.NET桌面应用开发的程序员来说,SharpDevelop是一个优秀的学习和实践平台。

    SharpDevelop.zip

    无论是为了学习新的编程语言,还是在项目需求变化时进行代码迁移,SharpDevelop都是一个值得信赖的选择。借助这款软件,开发者可以更加专注于代码逻辑和业务实现,而非语言本身的细节,从而提升整体的开发效率。

    SharpDevelop 4.5 Source源代码

    如果你不打算修改源代码,可以从提供的另一个下载链接获取这些DLL,这样可以快速在项目中使用SharpDevelop的功能,而无需自行编译源代码。 总之,SharpDevelop 4.5的源代码是一个宝贵的资源,无论是对.NET开发者...

Global site tag (gtag.js) - Google Analytics