十月, 2009 的存档

VS2010 Beta2 反馈

您如果已经使用了VS2010 Beta 2,我们很希望能够听到你的反馈。

请通过https://mscuillume.smdisp.net/Collector/Survey.ashx?Name=D10G1为我们提供您对Beta 2的感受,建议和意见。

您如果参加下周北京的Tech Ed 2009,还可以直接向我提出反馈,尤其是关于WPF/Silverlight设计器的问题和建议。在会场,您还有可能得到来自微软的纪念品。具体安排,敬请关注本blog。

谢谢您对Visual Studio 2010的支持!

如果VS 2010 Beta2报告安装成功但Microsoft Silverlight 3 SDK安装失败

如果在安装Visual Studio 2010的最后看到这样的界面,您的Visual Studio 安装是成功的,但是最新的Silverlight 3 SDK的确是安装失败了。

image

在您的机器上也许已经跟随Expression Blend 3安装了Silverlight 3 SDK RTW (3.0.40624.0)版本。而VS2010 Beta2欲安装最新的Silverlight 3 SDK GDR2 (3.0.40818.0)版本。

GDR2的版本除了修正一些Bug之外,还增强了对SDK中控件的设计时支持。

所以,虽然使用RTW的版本一样可以创建,编译和运行Silverlight项目,我们强烈地建议您卸载RTW版本,安装最新的SDK。您没有必要重新安装VS 2010 Beta2。

Cider扩展架构:AttributeTable和AttributeTableBuilder

IProvideAttributeTable的唯一任务是提供AttributeTable。AttributeTable包含了定义设计时外表(apperance)和行为(behavior)的元数据(metadata)属性(attribute)。

AttributeTable这个sealed的类并没有定义一个公共的构造函数。而且AttributeTable的内容对外是只读的。那么我们如何能够提供我们的AttributTable呢?

答案是使用AttributeTableBuilder(Design Pattern: Builder Pattern)。AddCustomAttributes()可用来添加新的属性。AddTable()则是将现有的AttributeTable内容全部加入到正在创建的AttributeTable之中。

当所有定义设计时外表和行为的元数据属性加入到AttributeTableBuilder之后,我们通过调用CreateTable()返回一个AttributeTable的实例。

从IRegisterMetaData到IProvideAttributeTable

为了能同时支持WPF和Silverlight设计时,并且能进一步增加和Expression Blend的代码共享,我们对Visual Studio 2010之中WPF/Silverlight设计器的扩展架构做了一些改变。

您可能会首先注意到:Microsoft.Windows.Design.dll已经不存在了。而原先在此程序集中定义的IRegisterMetadata界面(只定义了一个方法Register)也被在Microsoft.Windows.Design.Extensibility.dll中定义的IProvideAttributeTable界面所取代。

IProvideAttributeTable的源代码如下:

namespace Microsoft.Windows.Design.Metadata {
    /// <summary>
    /// Interface implemented by a class to provide an attribute table.
    /// </summary>
    public interface IProvideAttributeTable {

        /// <summary>
        /// The attribute table to supply
        /// </summary>
        AttributeTable AttributeTable { get; }
    }
}

IProvideAttributeTable是对VS2010中WPF/Silverlight设计器做扩展的切入点。在这几周的博客之中我将更多地讨论扩展架构。

提高VS2010 Beta2中WPF/Silverlight设计器性能

WPF/Silverlight设计器大量地使用了AppDomain。在Beta 2的版本下,CLR (Common Language Runtime 公共语言运行时)需要以下的注册表的设置才能够有效率地支持多个AppDomain.

为了得到最佳的性能,您需要在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0下添加Clrhost这个key。然后再添加StartupFlags(类型为DWORD32值为5)。如下图所示:

image

等到产品正式发布后,这个设置将会是缺省。

您安装了VS 2010 Beta 2了么?

对于Visual Studio 2010,除了新的产品名称(和Windows 7的命名保持一致,如Ultimate, Premium,Professional等)和新的产品图标(与.NET, Silverlight图标保持了色调的一致),开发人员最感兴趣的是产品有什么新功能,以及其性能有没有提高。

我所在的VS2010中的WPF/Silverligh Designer的产品组,非常期待听到你对Beta 2的反馈。

我们的Beta 2已经包含了所有显著的特性。从现在到RTM,我们的重点除了继续提高产品的性能外,还会根据用户的反馈对有些特性做出调整。您的反馈,我们一定会认真考虑。

另外,从现在开始的2周时间里,如果您发现了WPF/Silverlight Designer导致VS 2010 Crash的Bug,我还会在2周后为您寄出一份纪念品。(您如果参加Tech Ed China也可以在会场直接领取。)这个Bug需要是能够被我repro并且还不是已经在数据库之中的。(在很多情况下,即使是重复的bug我也会寄纪念品的。)

从这里开始安装:http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx。WPF/Silverlight Designer在所有的版本之中都提供。

谢谢您的支持!

Team Test 2008常见问题解答(1)

当用户试图使用Test Rig运行负载测试时,Test Results的状态为Not Executed。点击Test run error链接可能得到这样的错误信息:

Failed to queue test run ‘user@DEMO888 2009-10-10 21:44:38′: Object of type ‘Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestStepLoadProfile’ cannot be converted to type ‘Microsoft.VisualStudio.TestTools.WebStress.WebTestLoadProfile’.

LoadTestSteoLoadProfile也可能是LoadTestConstantLoadProfile等不同的负载模式类型。

这是因为Controller的机器已经是VS 2008 SP1而Agent的机器仍然是VS2008 RTM。反之亦然。

务必将Agent, Controller和VS都升级为SP1以解决这一问题。注意,如果你在同一台机器上先安装了VS,然后升级为SP1,接着再安装Controller,你仍然需要将Controller升级为SP1。所以在安装了VS和Controller之后一次升级会节省时间。

为什么会有这样的错误信息呢?请参考这一博客

回到顶部