<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_WilsonWu</title><subtitle type="text">.NET Programmer</subtitle><id>http://feed.cnblogs.com/blog/u/32075/rss</id><updated>2011-12-27T04:32:34Z</updated><author><name>WilsonWu</name><uri>http://www.cnblogs.com/WilsonWu/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/WilsonWu/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/32075/rss"/><entry><id>http://www.cnblogs.com/WilsonWu/archive/2011/12/27/2303340.html</id><title type="text">[Windows Phone] 为应用添加后台计划任务 – Scheduled Task Agent</title><summary type="text">前段时间做过一个天气应用，一直是只支持前台获取数据，上周末参加了Windows Phone的CodeJam和高手们交流了一下，发现实现后台定时更新功能也不是很难，于是在网上找一些资料，在找资料的过程中发现，网上的一些文章和代码把这个本来很简单代码能实现的功能描述的很复杂，结合了很多无关功能，这就让刚接触Scheduled Task Agent的朋友觉得很难找到关键代码，所以我写这篇文章让大家用最少的代码实现主题功能。</summary><published>2011-12-27T04:29:00Z</published><updated>2011-12-27T04:29:00Z</updated><author><name>WilsonWu</name><uri>http://www.cnblogs.com/WilsonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/WilsonWu/archive/2011/12/27/2303340.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/WilsonWu/archive/2011/12/27/2303340.html"/><content type="html">&lt;p&gt;前段时间做过一个天气应用，一直是只支持前台获取数据，上周末参加了Windows Phone的CodeJam和高手们交流了一下，发现实现后台定时更新功能也不是很难，于是在网上找一些资料，在找资料的过程中发现，网上的一些文章和代码把这个本来很简单代码能实现的功能描述的很复杂，结合了很多无关功能，这就让刚接触Scheduled Task Agent的朋友觉得很难找到关键代码，所以我写这篇文章让大家用最少的代码实现主题功能。&lt;/p&gt;  &lt;p&gt;首先说一下我的需求，其实很简单，我就是要在后台定时能执行一段代码而已，下面的例子即可实现，各位开发者可以在之上扩展得到自己想要的功能。&lt;/p&gt;  &lt;p&gt;1. 创建Windows Phone Silverlight Application项目：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271227597794.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228016106.png" width="814" height="524" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2. 再创建一个基于Windows Phone Scheduled Task Agent的项目：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228036338.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228051453.png" width="803" height="245" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;3. App是我们的主程序，Scheduled是后台定时任务代理程序：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228068521.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228078653.png" width="246" height="277" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;4. 我们打开ScheduledAgent.cs这个文件，用下面代码替换掉OnInvoke方法：&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&amp;nbsp;PERIODICTASKNAME&amp;nbsp;=&amp;nbsp;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;PeriodicTaskTest&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;Agent&amp;nbsp;that&amp;nbsp;runs&amp;nbsp;a&amp;nbsp;scheduled&amp;nbsp;task&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param&amp;nbsp;name="task"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;The&amp;nbsp;invoked&amp;nbsp;task&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;remarks&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;This&amp;nbsp;method&amp;nbsp;is&amp;nbsp;called&amp;nbsp;when&amp;nbsp;a&amp;nbsp;periodic&amp;nbsp;or&amp;nbsp;resource&amp;nbsp;intensive&amp;nbsp;task&amp;nbsp;is&amp;nbsp;invoked&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/remarks&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;protected&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;override&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&amp;nbsp;OnInvoke(ScheduledTask&amp;nbsp;task)&amp;nbsp;&lt;br /&gt;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;TODO:&amp;nbsp;Add&amp;nbsp;code&amp;nbsp;to&amp;nbsp;perform&amp;nbsp;your&amp;nbsp;task&amp;nbsp;in&amp;nbsp;background&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(task.Name&amp;nbsp;==&amp;nbsp;PERIODICTASKNAME)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShellToast&amp;nbsp;toast&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;ShellToast();&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;toast.Title&amp;nbsp;=&amp;nbsp;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Good:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;toast.Content&amp;nbsp;=&amp;nbsp;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Get&amp;nbsp;the&amp;nbsp;Service!&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;toast.Show();&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;如果不是指定的task,&amp;nbsp;則代表不需要執行&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ScheduledActionService.LaunchForTest(PERIODICTASKNAME,&amp;nbsp;TimeSpan.FromSeconds(&lt;span style="color: #800080;"&gt;10&lt;/span&gt;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NotifyComplete();&amp;nbsp;&lt;br /&gt;}&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;以上代码主要的功能是让这个代理每隔10秒弹出如下提示：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228071750.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228089341.png" width="425" height="124" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;这样代理端的代码就编写完成，就这么简单的代码，按照自己的需求在OnInvoke方法里添加自己的后台更新逻辑即可，接着就来编写前端代码。&lt;/p&gt;  &lt;p&gt;5. 在MainPage.xaml中添加两个按钮：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228128068.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228155018.png" width="421" height="507" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Start&amp;nbsp;Agent"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="72"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Left"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="118,207,0,0"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="button1"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Top"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="211"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Click&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="button1_Click"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Stop&amp;nbsp;Agent"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="72"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Left"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="120,285,0,0"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="button2"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Top"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="203"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Click&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="button2_Click"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;6. 编写后台代码：&lt;/p&gt;  &lt;p&gt;首先程序加载时添加如下代码，这里我添加在MainPage中：&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&amp;nbsp;PERIODICTASKNAME&amp;nbsp;=&amp;nbsp;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;PeriodicTaskTest&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&amp;nbsp;PeriodicTask&amp;nbsp;_tskPeriodic;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&amp;nbsp;PhoneApplicationPage_Loaded(&lt;span style="color: #0000FF;"&gt;object&lt;/span&gt;&amp;nbsp;sender,&amp;nbsp;RoutedEventArgs&amp;nbsp;e)&amp;nbsp;&lt;br /&gt;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ScheduledAction&amp;nbsp;tTask&amp;nbsp;=&amp;nbsp;ScheduledActionService.Find(PERIODICTASKNAME);&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(tTask&amp;nbsp;!=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_tskPeriodic&amp;nbsp;=&amp;nbsp;tTask&amp;nbsp;&lt;span style="color: #0000FF;"&gt;as&lt;/span&gt;&amp;nbsp;PeriodicTask;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;}&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;接着添加几个方法来开启或关闭代理以及判断代理是否存在和获取代理信息：&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&amp;nbsp;StartPeriodicTask()&amp;nbsp;&lt;br /&gt;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_tskPeriodic&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;PeriodicTask(PERIODICTASKNAME);&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_tskPeriodic.Description&amp;nbsp;=&amp;nbsp;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;BgScheduledAction&amp;nbsp;Sample,&amp;nbsp;update&amp;nbsp;tile&amp;nbsp;by&amp;nbsp;webserivce&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(IsTaskStart()&amp;nbsp;==&amp;nbsp;&lt;span style="color: #0000FF;"&gt;false&lt;/span&gt;)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ScheduledActionService.Add(_tskPeriodic);&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ScheduledActionService.LaunchForTest(PERIODICTASKNAME,&amp;nbsp;TimeSpan.FromSeconds(&lt;span style="color: #800080;"&gt;10&lt;/span&gt;));&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&amp;nbsp;StopPeriodicTask()&amp;nbsp;&lt;br /&gt;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ScheduledActionService.Remove(PERIODICTASKNAME);&amp;nbsp;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;bool&lt;/span&gt;&amp;nbsp;IsTaskStart()&amp;nbsp;&lt;br /&gt;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(_tskPeriodic&amp;nbsp;!=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;_tskPeriodic.IsScheduled)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;true&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;false&lt;/span&gt;;&amp;nbsp;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&amp;nbsp;GetTaskDescription()&amp;nbsp;&lt;br /&gt;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(_tskPeriodic&amp;nbsp;!=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;_tskPeriodic.IsScheduled)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;_tskPeriodic.Description;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;.Empty;&amp;nbsp;&lt;br /&gt;}&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;最后在两个按钮的单击事件代码中加入如下内容：&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&amp;nbsp;button1_Click(&lt;span style="color: #0000FF;"&gt;object&lt;/span&gt;&amp;nbsp;sender,&amp;nbsp;RoutedEventArgs&amp;nbsp;e)&amp;nbsp;&lt;br /&gt;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StartPeriodicTask();&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&amp;nbsp;button2_Click(&lt;span style="color: #0000FF;"&gt;object&lt;/span&gt;&amp;nbsp;sender,&amp;nbsp;RoutedEventArgs&amp;nbsp;e)&amp;nbsp;&lt;br /&gt;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StopPeriodicTask();&amp;nbsp;&lt;br /&gt;}&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: red; "&gt;&lt;strong&gt;至此还没有完成，切记最后一步要把代理项目的引用加入到主程序中，如果不做这部不会有任何报错，但是无法实现效果，需要注意：&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228179186.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228196385.png" width="600" height="312" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228218154.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228215155.png" width="224" height="238" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;这样就完成了，我们运行一下看看，首先启动程序：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228226159.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228242911.png" width="388" height="644" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;点击Start Agent后退回到主屏并找到设置中的后台任务：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228258093.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228278258.png" width="388" height="644" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;这里显示你的程序后台任务开启，我们也可以点击它进行关闭，过10秒钟可以看到如下提示：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228281454.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112271228295490.png" width="397" height="366" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;代码成功，这段代码的内容非常简单，希望对大家有所帮助，谢谢！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/WilsonWu/aggbug/2303340.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/WilsonWu/archive/2011/12/27/2303340.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/WilsonWu/archive/2011/12/17/2291231.html</id><title type="text">[Windows Phone] 在中文版Visual Studio 2010中开发Windows Phone应用程序</title><summary type="text">首先第一个问题是默认情况在Visual Studio 2010中文版中始终无法找到Windows Phone应用程序这个项目模板，连Silverlight for Windows Phone这个项目分类节点也没找到，于是搜了一下相关内容，发现网络上的针对Visual Studio 2010中文版开发Windows Phone程序的正确修改和设置的方法都不系统和完善，所以写一个完整版给大家参考。</summary><published>2011-12-17T09:49:00Z</published><updated>2011-12-17T09:49:00Z</updated><author><name>WilsonWu</name><uri>http://www.cnblogs.com/WilsonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/WilsonWu/archive/2011/12/17/2291231.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/WilsonWu/archive/2011/12/17/2291231.html"/><content type="html">&lt;p&gt;前段时间重装了系统，由于公司方面的需要，装了中文版Visual Studio 2010，接着安装了Windows Phone 7 SDK英文版，开始都是打开之前的项目，所以没有发现问题，包括之前创建的Windows Phone应用程序打开，开发，编译等等都没发现问题，今天自己想写点新东西打算新建一个包含Windows Phone应用程序的解决方案，这时问题来了。&lt;/p&gt;  &lt;p&gt;首先第一个问题是默认情况在Visual Studio 2010中文版中始终无法找到Windows Phone应用程序这个项目模板，连Silverlight for Windows Phone这个项目分类节点也没找到，于是搜了一下相关内容，发现网络上的针对Visual Studio 2010中文版开发Windows Phone程序的正确修改和设置的方法都不系统和完善，所以写一个完整版给大家参考。&lt;/p&gt;  &lt;p&gt;1. 安装Visual Studio 2010中文版：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749131333.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749134954.png" width="241" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2. 安装Windows Phone 7 SDK英文版，由于没有检测到英文版的Visual Studio 2010，所以会自动安装VS Express for Windows Phone：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749136067.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749146416.png" width="244" height="67" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;3. 进入目录（以下针对C#开发者，其他开发者在ProjectTemplates目录中选择对应语言目录即可）：&lt;/p&gt;  &lt;p&gt;32位系统：C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\CSharp&lt;/p&gt;  &lt;p&gt;64位系统：C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\CSharp&lt;/p&gt;  &lt;p&gt;4. 找到Silverlight for Windows Phone这个目录：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/2011121717491437.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749152088.png" width="330" height="346" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;5. 会看到1033这个目录：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749157660.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749157137.png" width="213" height="151" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;6. 将这个目录复制出来一份并重命名为2052：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749166298.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749163823.png" width="311" height="197" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;至此，文件操作完成。&lt;/p&gt;  &lt;p&gt;7. 在开始菜单中以管理员方式启动Visual Studio 命令提示(2010)工具：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749176812.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749181579.png" width="515" height="471" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;8. 输入命令devenv.exe /setup，并回车执行：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749194469.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749191678.png" width="383" height="160" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;9. 打开任务管理器观察devenv.exe这个进程，直到这个进程消失则表示执行完成：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749229500.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749239947.png" width="295" height="511" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;到这里所有工作完成，打开Visual Studio 2010中文版即可发现相关Windows Phone的项目模板，可以正常使用：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749285078.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112171749294686.png" width="647" height="511" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;希望本文能帮助各位，多谢！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/WilsonWu/aggbug/2291231.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/WilsonWu/archive/2011/12/17/2291231.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/WilsonWu/archive/2011/12/16/2290110.html</id><title type="text">[VSTS] 让ADO.NET Entity Framework支持Oracle数据库</title><summary type="text">默认情况Visual Studio 2010的.NET项目模板及类型模板中的Entity Framework是不支持Oracle数据库的，找了一圈发现第三方有些插件，但试了一下都不尽如人意，而Oracle官方也有一些工具可以对此做扩展，让Entity Framework支持Oracle数据库，接下来就简单说一下。</summary><published>2011-12-16T05:56:00Z</published><updated>2011-12-16T05:56:00Z</updated><author><name>WilsonWu</name><uri>http://www.cnblogs.com/WilsonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/WilsonWu/archive/2011/12/16/2290110.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/WilsonWu/archive/2011/12/16/2290110.html"/><content type="html">&lt;p&gt;近期由于项目所需不得不研究Oracle数据库，回想上一次用Oracle还是07年的事情，实习时候做华晨宝马的项目简单接触了Oracle。这次的项目需要基于.NET平台，我个人的习惯是能用微软自带的就不用第三方的，基于这个原则先想到的ORM模型就是Entity Framework，于是动手尝试一下。&lt;/p&gt;  &lt;p&gt;默认情况Visual Studio 2010的.NET项目模板及类型模板中的Entity Framework是不支持Oracle数据库的，找了一圈发现第三方有些插件，但试了一下都不尽如人意，而Oracle官方也有一些工具可以对此做扩展，让Entity Framework支持Oracle数据库，接下来就简单说一下。&lt;/p&gt;  &lt;p&gt;首先准备两个东西，都在Oracle官网可以下到：&lt;/p&gt;  &lt;p&gt;1. ODAC 11.2 Release 3 (11.2.0.2.1) with Oracle Developer Tools for Visual Studio&lt;/p&gt;  &lt;p&gt;下载地址：&lt;a href="http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html"&gt;http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. Oracle Data Access Components (ODAC) for Microsoft Entity Framework and LINQ to Entities&lt;/p&gt;  &lt;p&gt;下载地址：&lt;a href="http://www.oracle.com/technetwork/topics/dotnet/downloads/oracleefbeta-302521.html"&gt;http://www.oracle.com/technetwork/topics/dotnet/downloads/oracleefbeta-302521.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;注意：ODACforEntityFramework不论你的操作系统是32位还是64位，开发人员只装32位，因为VS是32位的程序，这个要切记，装64位的话还是不能用的。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;另外，Oracle官网下东西是要注册一个用户的。&lt;/p&gt;  &lt;p&gt;安装好环境之后我们就可以使用了：&lt;/p&gt;  &lt;p&gt;1. 打开Visual Studio 2010及要使用Entity Framework的项目：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161355351973.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161355378583.png" width="241" height="236" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2. 在测试项目上面选择新建项：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161355422143.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161355477622.png" width="643" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;3. 选择ADO.NET实体数据模型：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161355486151.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111216135550984.png" width="517" height="413" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;4. 在弹出向导中选择数据库：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161355538839.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161355559942.png" width="631" height="562" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;5. 在第二步的新建连接中可以看到Oracle选项，如果没有这一项证明上述的工具没装好，再检查一下吧：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161356011965.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161356044770.png" width="636" height="511" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;5. 选择Oracle数据库后输入数据库配置信息：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161356085723.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111216135612263.png" width="488" height="630" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;6. 测试连接成功后即可确定并完成数据库配置，并保存连接字符串：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161356178383.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161356203979.png" width="631" height="562" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;7. 选择要生成实体的表：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161356235422.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161356261749.png" width="631" height="562" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;8. 完成后即可看到与使用SQL Server数据库创建出相同的实体模型：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161356272197.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112161356281457.png" width="489" height="337" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;至此即可开始编写你要的程序，希望上述内容对大家有所帮助，谢谢！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/WilsonWu/aggbug/2290110.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/WilsonWu/archive/2011/12/16/2290110.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/WilsonWu/archive/2011/12/02/2271664.html</id><title type="text">[VSTS] 配置 Team Foundation Server 团队权限最佳实践</title><summary type="text">在之前的文章：[VSTS] 从零开始 Team Foundation Server 2010 安装配置详细图文教程中，我们介绍了详细的安装及配置TFS主体环境，接下来我们开始配置团队成员的权限，这里我以一些最佳实践方式来给大家演示配置过程，如果大家看到本文后觉得有更好的配置思路可以再沟通。</summary><published>2011-12-02T01:53:00Z</published><updated>2011-12-02T01:53:00Z</updated><author><name>WilsonWu</name><uri>http://www.cnblogs.com/WilsonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/WilsonWu/archive/2011/12/02/2271664.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/WilsonWu/archive/2011/12/02/2271664.html"/><content type="html">&lt;p&gt;在之前的文章：&lt;a href="http://www.cnblogs.com/WilsonWu/archive/2011/11/24/2261674.html"&gt;[VSTS] 从零开始 Team Foundation Server 2010 安装配置详细图文教程&lt;/a&gt;中，我们介绍了详细的安装及配置TFS主体环境，接下来我们开始配置团队成员的权限，这里我以一些最佳实践方式来给大家演示配置过程，如果大家看到本文后觉得有更好的配置思路可以再沟通。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;(以下图片如果看不清楚请点击打开后方可看到大图)&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;1. 打开计算机管理：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020950536977.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020950543813.jpg" width="244" height="179" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. 选择本地用户和组中的组：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/2011120209505593.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image003" border="0" alt="clip_image003" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020950568042.png" width="232" height="236" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3. 新建如下3个组，并将对应人员帐户创建好加入这些组中（这些人员不建议加入到管理员组）&lt;/p&gt;  &lt;p&gt;a) TFSAdmins：TFS管理组，具有管理TFS中各项设置的权限；&lt;/p&gt;  &lt;p&gt;b) TFSDevs：TFS开发人员组，具有普通权限，可以操作代码，报表，门户内容等；&lt;/p&gt;  &lt;p&gt;c) TFSUsers：TFS用户组，参与用户，可查看报表，查看代码等。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020950566614.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020950563549.png" width="143" height="62" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4. 打开TFS管理控制台，这个控制台是在2010中新加入的：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020950575468.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image005" border="0" alt="clip_image005" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020950585892.png" width="244" height="168" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5. 选择应用层，这一层是TFS全局内容设置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020950596840.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image007" border="0" alt="clip_image007" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020950598203.jpg" width="244" height="136" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;6. 选择组成员资格：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951004266.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951006152.png" width="232" height="136" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;7. 可看到默认用户组划分：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951015496.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image009" border="0" alt="clip_image009" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951032332.png" width="244" height="206" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;8. 创建Team Developers组：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951035888.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951039202.png" width="244" height="100" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;9. 创建Team Users组：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111202095104805.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image011" border="0" alt="clip_image011" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951047707.png" width="244" height="104" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;10. 选择Team Dvelopers组的属性，选择Windows用户或组，将TFSDevs组加入其中：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951059527.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image013" border="0" alt="clip_image013" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111202095107475.jpg" width="244" height="131" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;11. 同理，将TFSUsers加入到Team Users组中：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951082295.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image015" border="0" alt="clip_image015" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111202095109800.jpg" width="244" height="138" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;12. 将TFSAdmins加入到自带管理组Team Foundation Administrators组中：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951104015.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image017" border="0" alt="clip_image017" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951123011.jpg" width="244" height="136" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;13. 接着选择管理安全性：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951125486.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image018" border="0" alt="clip_image018" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951134307.png" width="244" height="138" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;14. 选择添加，将刚才的两个Team组加入到安全管理中：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951146127.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image020" border="0" alt="clip_image020" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951141634.jpg" width="244" height="82" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;15. 配置Developers组权限如下，这个可根据不同需求配置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111202095116389.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image022" border="0" alt="clip_image022" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951177466.jpg" width="244" height="130" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;14. 配置Users组权限如下：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951183746.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image024" border="0" alt="clip_image024" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951185665.jpg" width="244" height="90" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;16. 接着选择团队项目集合：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951192252.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image025" border="0" alt="clip_image025" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951202676.png" width="244" height="234" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;17. 界面如下：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951228333.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image027" border="0" alt="clip_image027" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951239314.jpg" width="244" height="206" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;18. 同样的选择组成员资格：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951249215.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image029" border="0" alt="clip_image029" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951247546.jpg" width="244" height="84" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;19. 打开后会看到如下组，这些组都是针对集合的：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111202095125478.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image030" border="0" alt="clip_image030" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951265363.png" width="244" height="205" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;20. 新建开发组：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951277282.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image031" border="0" alt="clip_image031" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951286867.png" width="244" height="113" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;21. 新建用户组：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951286801.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image032" border="0" alt="clip_image032" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951291685.png" width="244" height="119" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;22. 选择属性及TFS组，选择添加：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951307965.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image034" border="0" alt="clip_image034" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951314868.jpg" width="244" height="159" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;23. 将Developers组加入其中：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111202095133209.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image036" border="0" alt="clip_image036" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951346207.jpg" width="244" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;24. 同理，将Team Users组加入到集合Users组中：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951361341.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image038" border="0" alt="clip_image038" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951361798.jpg" width="244" height="166" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;25. 选择管理安全性：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951374273.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image039" border="0" alt="clip_image039" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951375876.png" width="185" height="173" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;26. 选择添加：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951373651.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image041" border="0" alt="clip_image041" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951399615.jpg" width="244" height="39" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;27. 将两个集合组加入到安全性设置中：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951408337.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image043" border="0" alt="clip_image043" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951415480.jpg" width="244" height="89" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;28. 配置开发组权限如下：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951427333.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image045" border="0" alt="clip_image045" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951421760.jpg" width="244" height="63" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;29. 配置用户组权限如下：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951433056.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image047" border="0" alt="clip_image047" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111202095143199.jpg" width="244" height="55" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;至此TFS层的权限配置完毕。&lt;/p&gt;  &lt;p&gt;30. 接下来配置报表服务权限，打开：&lt;a href="http://%3Ctfsserver%3E/Reports"&gt;http://&amp;lt;tfsserver&amp;gt;/Reports&lt;/a&gt;，并用管理员帐户登录：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951455051.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image049" border="0" alt="clip_image049" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951452825.jpg" width="244" height="228" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;31. 选择右上方站点设置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951454428.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image050" border="0" alt="clip_image050" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951468856.png" width="188" height="88" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;32. 选择安全性：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111202095146774.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image051" border="0" alt="clip_image051" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951469869.png" width="214" height="241" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;33. 选择新建角色分配，将TFSAdmins和TFSDevs加入管理员权限，TFSUsers加入用户权限：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951482212.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image053" border="0" alt="clip_image053" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951484131.jpg" width="244" height="87" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;34. 回到主文件夹，选择文件夹设置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951508983.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image054" border="0" alt="clip_image054" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951514424.png" width="244" height="107" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;35. 同样将TFSAdmins和TFSDevs加入到管理员权限，将TFSUsers加入浏览者权限：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951529308.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image056" border="0" alt="clip_image056" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951525687.jpg" width="244" height="86" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;36. 配置完报表权限后可以看到TFS中已有报表可用状态，而文档为不可用，接下来继续配置SharePoint权限：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951533636.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image057" border="0" alt="clip_image057" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951542108.png" width="244" height="193" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;37. 打开&lt;a href="http://%3Ctfsserver%3E/sites/DefaultCollection/default.aspx"&gt;http://&amp;lt;tfsserver&amp;gt;/sites/DefaultCollection/default.aspx&lt;/a&gt;，并用管理员登录：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951553405.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image059" border="0" alt="clip_image059" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951559784.jpg" width="244" height="138" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;38. 选择右侧网站操作中网站设置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951574320.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image060" border="0" alt="clip_image060" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951584220.png" width="244" height="156" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;39. 选择人员和组选项：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951586139.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image061" border="0" alt="clip_image061" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951591896.png" width="244" height="233" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;40. 选择新建用户：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020951595451.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image062" border="0" alt="clip_image062" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952001764.png" width="244" height="108" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;41. 将TFSAdmins组加入为完全控制：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952028808.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image064" border="0" alt="clip_image064" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111202095202137.jpg" width="244" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;42. 将TFSDevs加入为设计权限：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952038086.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image065" border="0" alt="clip_image065" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952046351.png" width="244" height="182" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;43. 将TFSUsers加入为参与权限：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111202095205396.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image066" border="0" alt="clip_image066" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952065281.png" width="244" height="210" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;44. 完成后如下：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952077657.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image068" border="0" alt="clip_image068" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952085988.jpg" width="244" height="75" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;至此，总权限配置基本完成，之后可以根据需要修改前面的设置。&lt;/p&gt;  &lt;p&gt;45. 最后要注意到一点是，如果新建了团队项目，则需要单独为项目配置非管理组的用户&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952093032.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image069" border="0" alt="clip_image069" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952109868.png" width="244" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;46. 只需要将集合开发人员（Project Collection Developers）加入到参与者中：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952127162.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image071" border="0" alt="clip_image071" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952135426.jpg" width="244" height="156" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;47. 将集合用户（Project Collection Users）加入到访问者中：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952159896.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image073" border="0" alt="clip_image073" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111202095216669.jpg" width="244" height="138" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;48. 另外要单独为SharePoint门户加访问权限，报表则不需要单独配置。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/20111202095218405.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image075" border="0" alt="clip_image075" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952198877.jpg" width="244" height="148" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;49. 选择网站设置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952216237.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image076" border="0" alt="clip_image076" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952226661.png" width="244" height="138" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;50. 选择人员和组链接：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952235483.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image077" border="0" alt="clip_image077" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952246463.png" width="215" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;51. 选择新建中的添加用户：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952248382.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image078" border="0" alt="clip_image078" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952252187.png" width="244" height="130" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;52. 将TFSAdmin组加入完全控制权限：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952263168.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image079" border="0" alt="clip_image079" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952278608.png" width="244" height="200" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;53. 将TFSDevs加入到设计权限：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952284921.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image080" border="0" alt="clip_image080" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952296774.png" width="244" height="205" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;54. 将TFSUsers加入到参与讨论权限：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952305280.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image081" border="0" alt="clip_image081" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952313229.png" width="244" height="218" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;55. 重新连入TFS即可看到文档项可用：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952317099.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image082" border="0" alt="clip_image082" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201112/201112020952321112.png" width="170" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;以上为搜有配置内容，至此，我们可以在开发过程中享受TFS带来的优势，希望本文能帮助大家，多谢！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/WilsonWu/aggbug/2271664.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/WilsonWu/archive/2011/12/02/2271664.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/WilsonWu/archive/2011/11/24/2261674.html</id><title type="text">[VSTS] 从零开始 Team Foundation Server 2010 安装配置详细图文教程</title><summary type="text">近期公司要配TFS用于新项目的管理，公司也将逐步迁移至VSTS平台，前期是运维部的同事来装测试服务器，但是他们发现市面上完整的安装配置教程几乎没有，所以我就边配边写了一个教程，本教程包括基于Windows Server下的：SQL Server的安装，TFS 2010的安装，SQL Server Reporting Services的配置，TFS 2010应用层配置以及Build服务器配置，希望对大家有所帮助！</summary><published>2011-11-24T06:47:00Z</published><updated>2011-11-24T06:47:00Z</updated><author><name>WilsonWu</name><uri>http://www.cnblogs.com/WilsonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/WilsonWu/archive/2011/11/24/2261674.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/WilsonWu/archive/2011/11/24/2261674.html"/><content type="html">&lt;p&gt;近期公司要配TFS用于新项目的管理，公司也将逐步迁移至VSTS平台，前期是运维部的同事来装测试服务器，但是他们发现市面上完整的安装配置教程几乎没有，所以我就边配边写了一个教程，本教程包括基于Windows Server下的：SQL Server的安装，TFS 2010的安装，SQL Server Reporting Services的配置，SharePoint Services的安装与配置，TFS 2010应用层配置以及Build服务器配置，希望对大家有所帮助！&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;(以下图片如果看不清楚请点击打开后方可看到大图)&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;1. 首先安装Windows Server操作系统，这里就不多说了，默认Windows Server是不包含IIS的，所以要手动添加IIS角色：&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241443486216.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241443506923.png" width="244" height="217" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. 选择IIS角色，将其中Web相关的都安装上，然后重启即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241443506018.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241443536244.png" width="244" height="207" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3. 接下来为TFS及相关服务创建角色账户，需要以下2个账户：&lt;/p&gt;  &lt;p&gt;a) TFSADMIN &amp;#8211; 用于安装SQL Server，TFS等，该账户要求管理员权限，也就是将其加入到Administrators组中。&lt;/p&gt;  &lt;p&gt;b) TFSSERVICE &amp;#8211; 这个账户用于所有服务账户，不要加入到Administrators组中。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241443548720.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image003" border="0" alt="clip_image003" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241443542590.png" width="171" height="60" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4. 接下来安装SQL Server 2008 R2数据库：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241443548621.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241443559427.png" width="244" height="107" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5. 选择安装下的全新安装：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241443566786.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241443575292.jpg" width="244" height="103" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;6. 下一步即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241443592095.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241443591506.jpg" width="244" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444001897.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444024829.jpg" width="244" height="186" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;7. 这里防火墙警告可忽略：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444048153.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444056941.jpg" width="244" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;8. 角色选择SQL Server功能安装：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444081694.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444084692.jpg" width="244" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;9. 将所有服务选择安装：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/2011112414441034.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image016" border="0" alt="clip_image016" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444102476.jpg" width="244" height="204" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;10. 无错误及警告即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444136639.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image018" border="0" alt="clip_image018" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444155394.jpg" width="244" height="186" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;11. 实例选择默认：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144416279.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image019" border="0" alt="clip_image019" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444178195.png" width="244" height="158" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444173145.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image020" border="0" alt="clip_image020" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444182000.png" width="244" height="234" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;12. 将空白账户选择到我们之前创建的账户，正确输入密码，将SQL Server Browser选择到自动启动：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144420929.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image022" border="0" alt="clip_image022" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444218879.jpg" width="244" height="143" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;13. 这里身份验证可以选择只使用Windows验证，也可以选择混合模式，但建议选择只使用Windows验证，安全性高，另外将Admin组和之前创建的账户加入到管理员中：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444223240.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image023" border="0" alt="clip_image023" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144423599.png" width="244" height="234" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;14. 下面的Analysis账户设置同样：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444233598.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image024" border="0" alt="clip_image024" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144425434.png" width="234" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;15. 接下来配置Reporting Service，这里可以选择默认配置或不配置，如果选择不配置那么等一下需要手动配置报表服务：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444265875.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image025" border="0" alt="clip_image025" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444271283.png" width="230" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;16. 验证通过即可安装：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444283659.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image026" border="0" alt="clip_image026" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444297987.png" width="244" height="198" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;17. 接下来就要漫长的安装了：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444317299.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image028" border="0" alt="clip_image028" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444314757.jpg" width="244" height="202" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444325705.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image030" border="0" alt="clip_image030" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444337591.jpg" width="244" height="186" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;18. 安装完成后关闭即可，无需重启：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444351787.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image032" border="0" alt="clip_image032" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444379637.jpg" width="244" height="182" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;19. 接下来放入TFS的安装镜像：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444391914.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image033" border="0" alt="clip_image033" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444414257.png" width="244" height="211" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;20. 根据操作系统的版本选择安装32位或64位，由于我使用的是64位系统，所以安装64位版本：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444411716.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image034" border="0" alt="clip_image034" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444425520.png" width="222" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;21. 开始安装：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444432423.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image035" border="0" alt="clip_image035" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444441452.png" width="244" height="97" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;22. 下一步即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444466760.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image037" border="0" alt="clip_image037" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444471645.jpg" width="244" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;23. 同意条款：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444497269.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image039" border="0" alt="clip_image039" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444518773.jpg" width="244" height="187" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;24. 如果单服务器的话建议选择所有角色：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444534954.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image041" border="0" alt="clip_image041" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444542903.jpg" width="244" height="186" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;25. 下一步进入安装状态：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444561592.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image043" border="0" alt="clip_image043" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444575048.jpg" width="244" height="189" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;26. 安装很块，完成关闭即可，建议暂不启动配置向导，这里我们先打TFS SP1补丁，因为用过一段时间后再安装SP1可能装不上：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241444594883.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image045" border="0" alt="clip_image045" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144459913.jpg" width="244" height="186" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;27. 运行SP1安装文件，静候安装完成即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445005864.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image046" border="0" alt="clip_image046" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445018240.png" width="244" height="215" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;28. 安装完成：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445024520.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image047" border="0" alt="clip_image047" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445037976.png" width="244" height="215" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;29. 安装SP1后启动TFS管理控制台：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445045435.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image048" border="0" alt="clip_image048" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445051748.png" width="244" height="82" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445062695.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image049" border="0" alt="clip_image049" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445078975.png" width="244" height="131" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;30. 正常启动，会显示配置提示：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445083303.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image051" border="0" alt="clip_image051" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445096302.jpg" width="244" height="166" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;31. 点击进入配置向导，这里我们选择高级：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445117.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image053" border="0" alt="clip_image053" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144511498.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;32. 如果之前选择Reporting Service没有配置的话会出现下面的警告，如无警告跳至51步：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445131379.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image055" border="0" alt="clip_image055" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445149295.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;33. 选择点击配置Reporting Services实例连接：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445157070.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image056" border="0" alt="clip_image056" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445161921.png" width="244" height="115" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;34. 连接本地服务：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445184264.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image058" border="0" alt="clip_image058" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445182246.jpg" width="244" height="161" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;35. 账户设置默认即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445202114.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image060" border="0" alt="clip_image060" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445207621.jpg" width="244" height="112" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;36. 点击Web URL页面后应用即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445218885.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image062" border="0" alt="clip_image062" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445221327.jpg" width="244" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;37. 出现如下完成即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445224882.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image063" border="0" alt="clip_image063" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445235372.png" width="244" height="95" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;38. 数据库选项中选择更改数据库：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445246112.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image065" border="0" alt="clip_image065" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445245207.jpg" width="244" height="73" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;39. 创建报表数据库：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445265598.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image067" border="0" alt="clip_image067" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445269993.jpg" width="244" height="161" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;40. 连接本地数据库服务：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445284222.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image069" border="0" alt="clip_image069" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445296107.jpg" width="244" height="166" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;41. 默认数据库名即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445315070.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image071" border="0" alt="clip_image071" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445311972.jpg" width="244" height="164" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;42. 凭证默认即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445331807.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image073" border="0" alt="clip_image073" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445338710.jpg" width="244" height="164" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;43. 下一步完成配置数据库：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445352623.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image075" border="0" alt="clip_image075" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445365065.jpg" width="244" height="165" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;44. 待配置数据库完成：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445388738.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image077" border="0" alt="clip_image077" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445399228.jpg" width="244" height="165" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;45. 正确配置如下：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445404080.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image079" border="0" alt="clip_image079" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445401538.jpg" width="244" height="147" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;46. 管理服务URL应用即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445421406.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image081" border="0" alt="clip_image081" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445426913.jpg" width="244" height="102" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;47. 正确配置提示：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144542784.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image082" border="0" alt="clip_image082" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445432146.png" width="244" height="99" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;48. 其他选项无需配置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445459473.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image084" border="0" alt="clip_image084" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144545520.jpg" width="244" height="118" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;49. 配置完成后管理报表服务配置页回到TFS配置向导，发现配置链接消失，TFS服务可正确识别报表服务：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445473943.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image086" border="0" alt="clip_image086" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445479209.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;50. 配置TFSSERVICE账户：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144548713.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image088" border="0" alt="clip_image088" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445498172.jpg" width="244" height="70" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;51. 待所有配置无错误及警告信息后返回第一步欢迎使用界面：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445518812.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image090" border="0" alt="clip_image090" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445522858.jpg" width="244" height="187" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;52. 下一步选择新建数据库，默认即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144554675.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image092" border="0" alt="clip_image092" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445551448.jpg" width="244" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;53. 服务账户设置为TFSSERVICE：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445563235.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image094" border="0" alt="clip_image094" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445573409.jpg" width="244" height="163" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;54. 应用层默认即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445585752.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image096" border="0" alt="clip_image096" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241445595163.jpg" width="244" height="200" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;55. 报表服务下一步即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446008345.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image098" border="0" alt="clip_image098" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144601472.jpg" width="244" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;56. 确认报表链接：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446042683.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image100" border="0" alt="clip_image100" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446047633.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;57. 确认分析服务位置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144606292.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image102" border="0" alt="clip_image102" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446065243.jpg" width="244" height="182" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;58. 确认账户设置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446087237.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image104" border="0" alt="clip_image104" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446096615.jpg" width="244" height="182" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;59. 勾选配置SharePoint服务：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446104498.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image106" border="0" alt="clip_image106" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446115304.jpg" width="244" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;60. 在下面界面选择安装SharePoint Service 3.0服务：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446121202.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image108" border="0" alt="clip_image108" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446133644.jpg" width="244" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;61. 下一步并选择默认即可名即可：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446148496.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image110" border="0" alt="clip_image110" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144615905.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;62. 下一步完成配置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446175134.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image112" border="0" alt="clip_image112" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446181164.jpg" width="244" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;63. 系统检测：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446201315.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image114" border="0" alt="clip_image114" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446201805.jpg" width="244" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;64. 完成检测后会出现2个警告，第一个不用理会，第二个警告在点击配置按钮后修复：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144622145.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image116" border="0" alt="clip_image116" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446244473.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;65. 点击配置按钮后经过漫长的配置SharePoint过程：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144626654.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image118" border="0" alt="clip_image118" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144626588.jpg" width="244" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144628946.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image120" border="0" alt="clip_image120" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446306878.jpg" width="244" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;66. 配置完成后点击下一步：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446312252.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image122" border="0" alt="clip_image122" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144632550.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;67. 最后应用层配置成功：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446343907.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image124" border="0" alt="clip_image124" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/20111124144636710.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;68. 接下来配置生成服务，选择生成服务节点，并点击启动向导：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446389051.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image126" border="0" alt="clip_image126" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446385953.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;69. 下一步开始配置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446405232.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image128" border="0" alt="clip_image128" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446415165.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;70. 选择默认集合：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446421936.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image130" border="0" alt="clip_image130" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446433506.jpg" width="244" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;71. 选择默认设置并下一步：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446454213.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image132" border="0" alt="clip_image132" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446452195.jpg" width="244" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;72. 配置服务账户：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446478965.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image134" border="0" alt="clip_image134" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446471407.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;73. 下一步进入检测：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446503652.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image136" border="0" alt="clip_image136" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446505778.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;74. 检测完成：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446538371.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image138" border="0" alt="clip_image138" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446538861.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;75. 进入配置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446552284.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image140" border="0" alt="clip_image140" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446556678.jpg" width="244" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;76. 配置完成：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/2011112414465768.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image142" border="0" alt="clip_image142" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446586414.jpg" width="244" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;77. 完成所有配置：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241446591789.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image144" border="0" alt="clip_image144" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241447008691.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;78. 打开控制台可以看到如下界面，其中可以查看各个服务的状态，为团队成员配置账户等等，稍后附上详细使用文档：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241447034457.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image146" border="0" alt="clip_image146" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201111/201111241447045164.jpg" width="244" height="164" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;以上是所有内容，希望对大家有所帮助，谢谢！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/WilsonWu/aggbug/2261674.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/WilsonWu/archive/2011/11/24/2261674.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/WilsonWu/archive/2011/10/15/2213144.html</id><title type="text">[Windows Phone] 在Windows Phone程序中播放GIF动画</title><summary type="text">最近又冒出做一个应用的想法，其中一个方案是需要播放GIF动画，但默认的Windows Phone 7的图片控件是不支持的，不过可以用Web Browser实现，单个人觉得不好，所以找了一下资料，下面给大家介绍一下实现方法。</summary><published>2011-10-15T07:59:00Z</published><updated>2011-10-15T07:59:00Z</updated><author><name>WilsonWu</name><uri>http://www.cnblogs.com/WilsonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/WilsonWu/archive/2011/10/15/2213144.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/WilsonWu/archive/2011/10/15/2213144.html"/><content type="html">&lt;p&gt;最近又冒出做一个应用的想法，其中一个方案是需要播放GIF动画，但默认的Windows Phone 7的图片控件是不支持的，不过可以用Web Browser实现，单个人觉得不好，所以找了一下资料，下面给大家介绍一下实现方法。&lt;/p&gt;  &lt;p&gt;1. 准备工作&lt;/p&gt;  &lt;p&gt;这个实现中最主要用到的是一套开源的GIF操作库：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201110/201110151557528819.png"&gt;&lt;img style="display: inline" title="Logo" alt="Logo" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201110/201110151557538753.png" width="240" height="63" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://imagetools.codeplex.com/"&gt;http://imagetools.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;这套开源库主要是针对Silverlight和Windows Phone操作各种类型图像文件而做的，但是用起来不太顺手，目前稳定版是0.3版，大家可以自行下载。&lt;/p&gt;  &lt;p&gt;2. 引用并编写代码&lt;/p&gt;  &lt;p&gt;ImageTools的使用网上资料不太多，且都是重复内容，我按照网上资料操作编写的测试程序没一个能用的，最后还是自己试出来的，首先我们找到ImageTools中的DLL文件（共9个）：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201110/201110151557531195.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201110/201110151557545589.png" width="297" height="297" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;这里建议大家把这9个DLL都引用到项目中，如果只操作GIF的话可以不用PNG和BMP这两个，其他的一定要在，否则会报莫名错误，另外直接下载的0.3版ImageTools的DLL网上有朋友说存在Bug，如果真有问题可以下载源码后自己编译出来DLL用，我就是编译出来DLL然后用的，没发现问题。&lt;/p&gt;  &lt;p&gt;添加好引用后如下：&lt;/p&gt;    &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201110/201110151557554934.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201110/201110151557561280.png" width="264" height="401" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;接着在XAML中添加下面代码：&lt;/p&gt;  &lt;p&gt;首先是引用：&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;xmlns:imagetools="clr-namespace:ImageTools.Controls;assembly=ImageTools.Controls"&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;然后是一个资源：&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;phone:PhoneApplicationPage.Resources&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;imagetools:ImageConverter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;x:Key&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="ImageConverter"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;phone:PhoneApplicationPage.Resources&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;最后是GIF播放控件：&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;imagetools:AnimatedImage&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="500"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="animatedImage1"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Source&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="&lt;/span&gt;&lt;span style="color: #808000;"&gt;{Binding&amp;nbsp;ImageSource,&amp;nbsp;Converter={StaticResource&amp;nbsp;ImageConverter}}&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;然后加入一个要播放的GIF文件在AppData目录：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201110/201110151557562883.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201110/201110151557561737.png" width="174" height="92" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201110/201110151558137512.gif"&gt;&lt;img style="display: inline" title="test" alt="test" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201110/201110151558312216.gif" width="180" height="240" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;后台代码如下：&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;ImageTools.IO.Decoders.AddDecoder&amp;lt;GifDecoder&amp;gt;();&lt;br /&gt;ImageTools.ExtendedImage&amp;nbsp;myImage&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;ImageTools.ExtendedImage();&lt;br /&gt;myImage.UriSource&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;Uri(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;AppData/test.gif&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;,&amp;nbsp;UriKind.Relative);&amp;nbsp;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;this&lt;/span&gt;.animatedImage1.Source&amp;nbsp;=&amp;nbsp;(ImageTools.ExtendedImage)myImage;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;最终效果如下：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201110/201110151558438420.gif"&gt;&lt;img style="display: inline" title="1" alt="1" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201110/201110151558556675.gif" width="319" height="532" /&gt;&lt;/a&gt;&lt;/p&gt;      &lt;p&gt;感谢大家！希望这个实现对大家有帮助！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/WilsonWu/aggbug/2213144.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/WilsonWu/archive/2011/10/15/2213144.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/WilsonWu/archive/2011/09/30/2196500.html</id><title type="text">[Windows Phone] Windows Phone 7 播放远程流媒体的代码实现方法</title><summary type="text">最近打算做一些视频音频方面的应用，但是Windows Phone 7对可播放的媒体格式有太多限制，研究了一下最终还是放弃了，因为要播放的媒体格式是不确定的，没办法简单实现，但在此过程中了解了播放流媒体的几种方法，下面分别给大家介绍。</summary><published>2011-09-30T05:58:00Z</published><updated>2011-09-30T05:58:00Z</updated><author><name>WilsonWu</name><uri>http://www.cnblogs.com/WilsonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/WilsonWu/archive/2011/09/30/2196500.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/WilsonWu/archive/2011/09/30/2196500.html"/><content type="html">&lt;p&gt;最近打算做一些视频音频方面的应用，但是Windows Phone 7对可播放的媒体格式有太多限制，研究了一下最终还是放弃了，因为要播放的媒体格式是不确定的，没办法简单实现，但在此过程中了解了播放流媒体的几种方法，下面分别给大家介绍。&lt;/p&gt;&lt;p&gt;对于本地媒体文件的播放我就不多说了，只要将媒体文件加入项目写正确路径即可播放，我们下面介绍几种远程流媒体的播放方法。&lt;/p&gt;&lt;p&gt;&lt;font size="5"&gt;&lt;strong&gt;1. MediaElement&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;首先要说的就是WP7开发SDK中自带的MediaElement，经过我的测试该控件在播放支持格式的音频基本没问题，但是播放视频会有问题，也可能是我的视频源有问题，使用非常简单，在界面XAML中加入如下代码：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;MediaElement&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="meMain"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;MediaFailed&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="meMain_MediaFailed"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;MediaElement&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="btnPlay1"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Content&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Play&amp;nbsp;in&amp;nbsp;MediaElement"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Click&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="btnPlay1_Click"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;其中MediaElement就是播放媒体的主体，大家可以设置其他属性来设置外观，下面的按钮用来播放，按钮点击代码如下：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;meMain.Source&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;Uri(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;http://www.robtowns.com/music/blind_willie.mp3&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;,&amp;nbsp;UriKind.Absolute);&amp;nbsp;&lt;br /&gt;meMain.Play();&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;这样既可以完成最简单的播放功能：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109301357198135.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="QQ截图20110930130340" border="0" alt="QQ截图20110930130340" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/20110930135719262.png" width="323" height="536" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="5"&gt;&lt;strong&gt;2. MediaPlayerLauncher&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;第二种也是SDK自带的，名为MediaPlayerLauncher，改类没有可视化内容，调用之后会显示一个新界面，在界面中有全部的媒体播放控制功能，我们使用下面代码实现该功能：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;MediaPlayerLauncher&amp;nbsp;mediaPlayerLauncher&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;MediaPlayerLauncher();&amp;nbsp;&lt;br /&gt;mediaPlayerLauncher.Media&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;Uri(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;http://www.robtowns.com/music/blind_willie.mp3&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;,&amp;nbsp;UriKind.Absolute);&amp;nbsp;&lt;br /&gt;mediaPlayerLauncher.Location&amp;nbsp;=&amp;nbsp;MediaLocationType.Data;&amp;nbsp;&lt;br /&gt;mediaPlayerLauncher.Controls&amp;nbsp;=&amp;nbsp;MediaPlaybackControls.Pause&amp;nbsp;|&amp;nbsp;MediaPlaybackControls.Stop;&amp;nbsp;&lt;br /&gt;mediaPlayerLauncher.Show();&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;实现效果如下：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109301357205528.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="QQ截图20110930130525" border="0" alt="QQ截图20110930130525" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109301357204066.png" width="323" height="536" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="5"&gt;&lt;strong&gt;3. &lt;strong&gt;Silverlight Media Framework&lt;/strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;这是一套开源的媒体播放框架，大家可以通过下面地址下载：&lt;/p&gt;&lt;p&gt;&lt;a href="http://smf.codeplex.com/releases/view/63434" target="_blank"&gt;http://smf.codeplex.com/releases/view/63434&lt;/a&gt;&lt;/p&gt;&lt;p&gt;（只要下载microsoft-smf-binwp7-2.2011.0410.1.zip即可）&lt;/p&gt;&lt;p&gt;下载完成后如下：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109301357232689.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="QQ截图20110930133836" border="0" alt="QQ截图20110930133836" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109301357317121.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;接着下载另一个必要组件：&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.iis.net/download/smoothclient" target="_blank"&gt;Download Smooth Streaming Player Development Kit&lt;/a&gt;&lt;/p&gt;&lt;p&gt;下载并安装后我们可以在对应安装目录中找到要用的DLL文件（C:\Program Files (x86)\Microsoft SDKs\IIS Smooth Streaming Client）：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109301357344565.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="QQ截图20110930130813" border="0" alt="QQ截图20110930130813" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/20110930135739723.png" width="604" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;接着就是用他们，将所有DLL文件加入到项目引用中：：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109301357408988.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="QQ截图20110930134143" border="0" alt="QQ截图20110930134143" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109301357439737.png" width="308" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;完成之后即可加入如下代码实现功能，首先加入命名空间：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;xmlns:Core="clr-namespace:Microsoft.SilverlightMediaFramework.Core;assembly=Microsoft.SilverlightMediaFramework.Core.Phone"&amp;nbsp;&lt;br /&gt;xmlns:Media="clr-namespace:Microsoft.SilverlightMediaFramework.Core.Media;assembly=Microsoft.SilverlightMediaFramework.Core.Phone"&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;然后加入播放器代码：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Core:SMFPlayer&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Core:SMFPlayer.Playlist&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Media:PlaylistItem&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;DeliveryMethod&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="AdaptiveStreaming"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;MediaSource&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="http://ecn.channel9.msdn.com/o9/content/smf/smoothcontent/bbbwp7/big&amp;nbsp;buck&amp;nbsp;bunny.ism/manifest"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Core:SMFPlayer.Playlist&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Core:SMFPlayer&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;实现效果如下：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109301357445701.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="QQ截图20110930134519" border="0" alt="QQ截图20110930134519" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109301357453061.png" width="323" height="536" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;希望这些能弄对大家有帮助！感谢！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/WilsonWu/aggbug/2196500.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/WilsonWu/archive/2011/09/30/2196500.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/WilsonWu/archive/2011/09/26/2192364.html</id><title type="text">[Windows Phone] 在Windows Phone应用中使用Google Map替代Bing Map</title><summary type="text">最近做一个应用，其中用到地图及相关功能，默认情况下没有找第三方的地图API，直接用了自带的Bing Map控件，但是用了一段时间发现Bing Map对于中国用户来说还是不行，很多地理位置没有标明，而且不够细致，所以立刻想到的就是Google Map，于是找了一下相关资源，在Windows Phone应用中使用Google Map其实非常简单。</summary><published>2011-09-26T14:50:00Z</published><updated>2011-09-26T14:50:00Z</updated><author><name>WilsonWu</name><uri>http://www.cnblogs.com/WilsonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/WilsonWu/archive/2011/09/26/2192364.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/WilsonWu/archive/2011/09/26/2192364.html"/><content type="html">&lt;p&gt;最近做一个应用，其中用到地图及相关功能，默认情况下没有找第三方的地图API，直接用了自带的Bing Map控件，但是用了一段时间发现Bing Map对于中国用户来说还是不行，很多地理位置没有标明，而且不够细致，所以立刻想到的就是Google Map，于是找了一下相关资源，在Windows Phone应用中使用Google Map其实非常简单，下面详述一下步骤：&lt;/p&gt;  &lt;p&gt;1. 有一个封装好的DLL类库：&lt;a href="http://files.cnblogs.com/WilsonWu/googlemaps.rar" target="_blank"&gt;googlemaps.dll&lt;/a&gt;（点击下载），这个是核心内容，在项目里首先添加该DLL的引用：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109262249284786.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109262249291655.png" width="224" height="152" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. 添加到XAML文件中几个引用并命名：&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;xmlns:my="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps"&amp;nbsp;&amp;nbsp;&lt;br /&gt;xmlns:GoogleTileSource="clr-namespace:googlemaps;assembly=googlemaps"&amp;nbsp;&lt;br /&gt;xmlns:MSPCMCore="clr-namespace:Microsoft.Phone.Controls.Maps.Core;assembly=Microsoft.Phone.Controls.Maps"&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;3. 调用Google Map，这里要先简单说一下，比起iOS开发来说WP开发实在太方便了，也多亏了这个DLL写的好，只要将原有的Bing Map控件中嵌套一点内容即可，添加标签及获取地理位置完全不影响，XAML内容如下：&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;my:Map&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="mMain"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="0,0,0,0"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;CopyrightVisibility&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Collapsed"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;LogoVisibility&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Collapsed"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;ScaleVisibility&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Visible"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;CredentialsProvider&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="ApBXPZf5IR94SLXE8nh5FYsb5WHKrH1XPY7428-EqQudseivcWhCROIJvGmtnkAV"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;my:MapTileLayer&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="street"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="0,0,0,32"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;my:MapTileLayer.TileSources&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;GoogleTileSource:GoogleTile&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;TileTypes&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Street"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;GoogleTileSource:GoogleTile&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;my:MapTileLayer.TileSources&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;my:MapTileLayer&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;my:Map&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;就这么简单，具体内部实现我也没研究，有兴趣的大家可以找找这个DLL的源码。&lt;/p&gt;  &lt;p&gt;效果如下：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109262249363437.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109262249434139.png" width="384" height="719" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;希望这个例子对大家有用！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/WilsonWu/aggbug/2192364.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/WilsonWu/archive/2011/09/26/2192364.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/WilsonWu/archive/2011/09/26/2192024.html</id><title type="text">[Windows Phone] 另类方法解决ScrollViewer设置透明度后文字模糊问题</title><summary type="text">最近在开发一些Windows Phone 7的应用，遇到了一些问题，比较奇怪的当属昨天遇到的了。当我在ScrollViewer中放入一个TextBlock控件绑定文字，并设置ScrollViewer的透明度为非1.0（我设置0.7，比较好看），这时如果TextBlock中文字超出ScrollViewer的高度，也就是说可以上下滑动来看到更多文字，就会出现文字模糊的情况发生。</summary><published>2011-09-26T09:28:00Z</published><updated>2011-09-26T09:28:00Z</updated><author><name>WilsonWu</name><uri>http://www.cnblogs.com/WilsonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/WilsonWu/archive/2011/09/26/2192024.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/WilsonWu/archive/2011/09/26/2192024.html"/><content type="html">&lt;p&gt;最近在开发一些Windows Phone 7的应用，遇到了一些问题，比较奇怪的当属昨天遇到的了。&lt;/p&gt;&lt;p&gt;当我在ScrollViewer中放入一个TextBlock控件绑定文字，并设置ScrollViewer的透明度为非1.0（我设置0.7，比较好看），这时如果TextBlock中文字超出ScrollViewer的高度，也就是说可以上下滑动来看到更多文字，就会出现文字模糊的情况发生，如下图：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109261727009091.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="1231231231d" border="0" alt="1231231231d" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109261727062957.jpg" height="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;请教了多位朋友都说这可能是个Bug，于是Google了很久也没能找到解决方法，于是灵机一动用来一个另类的方法来解决，这个方法就是使用一个透明度为70%的1像素高1像素宽的PNG图片（下面代码中DesBackground.png既是）作为文字所在容器的背景，代码也很简单，如下，背景图我就不放了，自己用PS建一个很简单：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;StackPanel&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;Margin&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="0,-20,0,80"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;StackPanel.Background&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ImageBrush&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;ImageSource&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Images\Countries\DesBackground.png"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ImageBrush&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;StackPanel.Background&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ScrollViewer&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="553"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Top"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="10,10,10,10"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;TextBlock&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="tbHistory"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;TextWrapping&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="Wrap"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;Style&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="&lt;/span&gt;&lt;span style="color: #808000;"&gt;{StaticResource&amp;nbsp;PhoneTextNormalStyle}&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;TextBlock&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ScrollViewer&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;StackPanel&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;效果如下：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109261727276284.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="11111111" border="0" alt="11111111" src="http://images.cnblogs.com/cnblogs_com/WilsonWu/201109/201109261727361946.png" width="484" height="773" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;是不是很清晰？而且不影响美观！&lt;/p&gt;&lt;p&gt;这个方法对程序性能和存储的影响可忽略不计，个人认为还是比较好的，希望能帮助有需要的朋友！ &lt;/p&gt;&lt;img src="http://www.cnblogs.com/WilsonWu/aggbug/2192024.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/WilsonWu/archive/2011/09/26/2192024.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/WilsonWu/archive/2011/04/27/2030180.html</id><title type="text">[免费讲座] 成都软件技术沙龙 - 开启基于Scrum的敏捷开发全新征程讲座</title><summary type="text">4月28日活动 – 开启基于Scrum的敏捷开发全新征程时间：4月28日下午1点 – 5点地点：成都天府软件园A区3号楼大会议室</summary><published>2011-04-27T03:36:00Z</published><updated>2011-04-27T03:36:00Z</updated><author><name>WilsonWu</name><uri>http://www.cnblogs.com/WilsonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/WilsonWu/archive/2011/04/27/2030180.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/WilsonWu/archive/2011/04/27/2030180.html"/><content type="html">&lt;p&gt;&lt;font size="5"&gt;&lt;strong&gt;成都软件技术沙龙&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;strong&gt;月&lt;/strong&gt;&lt;strong&gt;28&lt;/strong&gt;&lt;strong&gt;日活动议程&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="5"&gt;&lt;strong&gt;开启基于&lt;/strong&gt;&lt;strong&gt;Scrum&lt;/strong&gt;&lt;strong&gt;的敏捷开发全新征程&lt;/strong&gt;&lt;/font&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;沙龙介绍：&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;成都软件技术沙龙成立于2008年，致力于发展成都地区软件事业，结交志同道合的软件界朋友，先后与微软.NET俱乐部，微软社区精英计划，天府软件园以及Scrum成都等机构合作，希望能团结成都地区软件同仁共同交流。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;strong&gt;月&lt;/strong&gt;&lt;strong&gt;28&lt;/strong&gt;&lt;strong&gt;日活动&lt;/strong&gt;&lt;strong&gt; &amp;#8211; &lt;/strong&gt;&lt;strong&gt;开启基于&lt;/strong&gt;&lt;strong&gt;Scrum&lt;/strong&gt;&lt;strong&gt;的敏捷开发全新征程&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;时间：&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;strong&gt;月&lt;/strong&gt;&lt;strong&gt;28&lt;/strong&gt;&lt;strong&gt;日下午&lt;/strong&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;strong&gt;点&lt;/strong&gt;&lt;strong&gt; &amp;#8211; 5&lt;/strong&gt;&lt;strong&gt;点&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;地点：成都天府软件园&lt;/strong&gt;&lt;strong&gt;A&lt;/strong&gt;&lt;strong&gt;区&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;strong&gt;号楼大会议室&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;讲座一：自下而上的敏捷实践&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;大纲：&lt;/p&gt;  &lt;p&gt;l 持续集成&lt;/p&gt;  &lt;p&gt;l TDD&lt;/p&gt;  &lt;p&gt;l 自动化测试&lt;/p&gt;  &lt;p&gt;l 结对编程&lt;/p&gt;  &lt;p&gt;l 重构&lt;/p&gt;  &lt;p&gt;l Scrum&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;讲师介绍：殷钧钧&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Joey Yin任职于Active Network，担任企业架构师。业余白帽子。专注的领域主要有：分布式系统架构；敏捷开发实践；应用开发安全。个人博客：http://www.unclejoey.com, 微薄：http://weibo.com/joeyyin 。业余时间主要在OWASP, Wooyun, Agile Group等开源社区和公益组织出没。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;讲座二：Scrum&lt;/strong&gt;&lt;strong&gt;软件研发过程经验分享&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;这不是咨询公司的Scrum，缺乏生气的抽象，也不是书本上的Scurm，过于笼统到无味，这是某成都公司7个月来，从尝试到全部项目都迁移过来的一个落地的过程，作为操刀人，讲师将会讲述推动中的选择、问题、乐趣、效果，甚至是----尴尬。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;讲师介绍：刘传君&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;成都任我行软件公司技术总监，超过十年软件研发与管理经验，对Scrum有深入研究和实践，同时刘传君也是成都软件技术沙龙创始人之一，关注平台开发，重构，TDD、Scrum的技术和推广。&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;讲座三：VSTS 2010 Scrum&lt;/strong&gt;&lt;strong&gt;最佳实践&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;大纲：&lt;/p&gt;  &lt;p&gt;l TFS介绍&lt;/p&gt;  &lt;p&gt;l Visual Studio Scrum 1.0介绍&lt;/p&gt;  &lt;p&gt;l 安装使用&lt;/p&gt;  &lt;p&gt;l Demo项目&lt;/p&gt;  &lt;p&gt;l Q/A&lt;/p&gt;  &lt;p&gt;该讲座结束后，如果时间和技术上可能，会和大家分享一下Kinect for Windows的开发尝鲜。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;讲师介绍：朱永光&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;从初中第一次接触计算机开始，就对编程很感兴趣。虽然大学并未学习计算机相关专业，但毕业后还是进入了软件开发行业，现在已经走过了10多年的职业生涯。个人比较关注软件架构、开发框架、编程语言等方面的技术，也喜欢尝试各种新技术，并且热衷于通过网络或本地活动与大家交流分享。InfoQ中文站.NET社区首席编辑，微软MVP。个人博客为：http://redmoon.cnblogs.com，新浪微博：&lt;a href="http://weibo.com/heavenwing"&gt;http://weibo.com/heavenwing&lt;/a&gt;。最近几年，和朋友在环境保护领域共同创业，专注于碳足迹、生态设计等LCA（生命周期评价）应用，致力于用IT促进环境保护，并把可持续发展理念带入到IT。&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&lt;font size="5"&gt;&lt;strong&gt;希望成都的博友有空来参加，这是沙龙第一次公开活动，感谢微软社区精英计划，天府软件园，零码公司的鼎力支持！&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/WilsonWu/aggbug/2030180.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/WilsonWu/archive/2011/04/27/2030180.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
