﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IT民工的坐井观天 &#187; 青城山 &#8211; DotNet</title>
	<atom:link href="http://www.1x3x.net/blog/category/dotnet-world/feed" rel="self" type="application/rss+xml" />
	<link>http://www.1x3x.net/blog</link>
	<description>新知 新思 新码 新语录</description>
	<lastBuildDate>Sat, 04 Feb 2012 13:17:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>C# 2005 compiler could not be created 问题解决办法一则</title>
		<link>http://www.1x3x.net/blog/dotnet-world/2009/06/compiler-could-not-be-created.html</link>
		<comments>http://www.1x3x.net/blog/dotnet-world/2009/06/compiler-could-not-be-created.html#comments</comments>
		<pubDate>Mon, 01 Jun 2009 06:30:44 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[青城山 - DotNet]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.1x3x.net/blog/?p=355</guid>
		<description><![CDATA[最近诸事缠身，有点忙不过来了，也疏于更新blog了。唉，实在不应该，应该适当留些时间整理思路和工作中遇到的问题的。 刚才很郁闷的遇到一个问题，突然Visual Studio的解决方案都无法启动了： Project &#8216;QAD.Configurator&#8217; could not be opened because the Microsoft Visual C# 2005 compiler could not be created. Please re-install Visual Studio. 这多慌啊，装个vs一个下午没了，而且今天公司空调在维修，我靠，崩溃了。。。。 还好找到一个偏方： rename “CURRENT_USER\Software\Microsoft\visualstudio\8.0&#8243; to “&#8230;\8.0_anyname”，try again，成功。 本来一身汗差点吓出一身汗，还有一堆call等着fix呢。万幸<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="4"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="如何编程实现向Visual Studio的Toolbox添加控件(VS 2003, VS 2005, VS 2008)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2008%2F06%2Fadd-control-to-vs-toolbox.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2009%2F06%2Fcompiler-could-not-be-created.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11299780.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">如何编程实现向Visual Studio的Toolbox添加控件(VS 2003, VS 2005, VS 2008)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Zend For Eclipse 6.1发布" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fsoftware-express%2F2008%2F09%2Fzend-studio-for-eclipse-sneak-preview.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2009%2F06%2Fcompiler-could-not-be-created.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11300187.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Zend For Eclipse 6.1发布</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="无聊，找篇Chrome的文章批一下" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fother-side%2F2008%2F09%2Fchrome-is-not-superman.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2009%2F06%2Fcompiler-could-not-be-created.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11299361.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">无聊，找篇Chrome的文章批一下</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="一个CSS小技巧解决了游戏预览问题" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fweb-design%2F2008%2F09%2Fwordpress-preview-tip.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2009%2F06%2Fcompiler-could-not-be-created.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11299330.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">一个CSS小技巧解决了游戏预览问题</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="4" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>最近诸事缠身，有点忙不过来了，也疏于更新blog了。唉，实在不应该，应该适当留些时间整理思路和工作中遇到的问题的。</p>
<p>刚才很郁闷的遇到一个问题，突然Visual Studio的解决方案都无法启动了：</p>
<p>Project &#8216;QAD.Configurator&#8217; could not be opened because the Microsoft Visual C# 2005 compiler could not be created. Please re-install Visual Studio.</p>
<p>这多慌啊，装个vs一个下午没了，而且今天公司空调在维修，我靠，崩溃了。。。。</p>
<p>还好找到一个偏方：</p>
<p>rename “CURRENT_USER\Software\Microsoft\visualstudio\8.0&#8243; to “&#8230;\8.0_anyname”，try again，成功。</p>
<p>本来一身汗差点吓出一身汗，还有一堆call等着fix呢。万幸</p>
<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="4"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="如何编程实现向Visual Studio的Toolbox添加控件(VS 2003, VS 2005, VS 2008)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2008%2F06%2Fadd-control-to-vs-toolbox.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2009%2F06%2Fcompiler-could-not-be-created.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11299780.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">如何编程实现向Visual Studio的Toolbox添加控件(VS 2003, VS 2005, VS 2008)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Zend For Eclipse 6.1发布" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fsoftware-express%2F2008%2F09%2Fzend-studio-for-eclipse-sneak-preview.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2009%2F06%2Fcompiler-could-not-be-created.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11300187.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Zend For Eclipse 6.1发布</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="无聊，找篇Chrome的文章批一下" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fother-side%2F2008%2F09%2Fchrome-is-not-superman.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2009%2F06%2Fcompiler-could-not-be-created.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11299361.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">无聊，找篇Chrome的文章批一下</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="一个CSS小技巧解决了游戏预览问题" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fweb-design%2F2008%2F09%2Fwordpress-preview-tip.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2009%2F06%2Fcompiler-could-not-be-created.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11299330.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">一个CSS小技巧解决了游戏预览问题</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="4" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></content:encoded>
			<wfw:commentRss>http://www.1x3x.net/blog/dotnet-world/2009/06/compiler-could-not-be-created.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>如何编程实现向Visual Studio的Toolbox添加控件(VS 2003, VS 2005, VS 2008)</title>
		<link>http://www.1x3x.net/blog/dotnet-world/2008/06/add-control-to-vs-toolbox.html</link>
		<comments>http://www.1x3x.net/blog/dotnet-world/2008/06/add-control-to-vs-toolbox.html#comments</comments>
		<pubDate>Wed, 25 Jun 2008 06:54:08 +0000</pubDate>
		<dc:creator>Luxel</dc:creator>
				<category><![CDATA[青城山 - DotNet]]></category>
		<category><![CDATA[visual studio toolbox customize]]></category>

		<guid isPermaLink="false">http://www.1x3x.net/blog/default/2008/06/%e5%a6%82%e4%bd%95%e7%bc%96%e7%a8%8b%e5%ae%9e%e7%8e%b0%e5%90%91visual-studio%e7%9a%84toolbox%e6%b7%bb%e5%8a%a0%e6%8e%a7%e4%bb%b6vs-2003-vs-2005-vs-2008.html</guid>
		<description><![CDATA[要不是因为手中的Framework项目需要在Windows Installer中对Visual Studio 2008的Toolbox添加控件，我也不会认识到让人纠结的ToolBoxItems.Add (EnvDTE，参见MSDN)&#8230; 不敢计算我在这个问题上浪费了多少生命，只是伤心为什么自己喜爱的产品连续3（4？2002？）个版本都没能修正这一个API。。。 我只觉得有必要把这个问题总结一下(大多数资源来自于Google)，希望更多人看到，避免在这个问题上浪费时间 早在Visual Studio 2003时代，勇于实践的前人们在多次尝试后终于发现，要使用ToolBoxItems.Add方法对Toolbox添加包含控件的dll，必须念完三条准备咒语： 激活当前ToolboxTab toolboxTab.Activate(); 运行“View.PropertiesWindow”命令 dte.ExecuteCommand("View.PropertiesWindow", String.Empty); 选择第一个控件（Pointer） toolboxTab.ToolBoxItems.Item(1).Select(); 咒语颂完，法力生效，我们终于可以随心所欲地使用ToolBoxItems.Add方法了。为什么必须念那三条咒语呢？笔者没有研究过。 好了，两年后，2003的兄弟，2005，法力更加强大，旧的控件注册代码移植过来全部失效。这时，VS Extensibility团队的高僧站了出来，提供了一段代码： http://code.msdn.microsoft.com/vsx/Release/ProjectReleases.aspx?ReleaseId=147 代码的关键是&#8230;在注册控件之前，你必须创建一个”Dummy”的WinForms项目，并且，由于添加项目时的EnvDTE.Solution2.AddFromTemplate方法可能会持续很长一段时间，为了防止程序因停止响应，你需要实现IMessageFilter。 然后这个方法怎么看也像是个偏门。。。总是不优雅。笔者未曾测试过这段代码。 也许是个补偿吧，最后，MS推出了ToolboxControlsInstaller （TCI） &#8211; 一个独立的package，终于提供了一个新的方法解决了Toolbox控件注册问题。对于VS 2005，TCI是一个单独的安装包，你需要另外下载并安装（包含在VS 2005 Version 4 SDK里）（http://www.microsoft.com/downloads/details.aspx?familyid=51A5C65B-C020-4E08-8AC0-3EB9C06996F4&#38;displaylang=en）；对于VS 2008，它已经被集成在了VisualStudio里边，不需要额外的安装。要验证你的VisualStudio是否安装了TCI，检查以下注册表项即可： HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\{2c298b35-07da-45f1-96a3-be55d91c8d7a} （对于2005，把”9.0&#8243;换成”8.0&#8243;）{2c298b35-07da-45f1-96a3-be55d91c8d7a}即是TCI Package的GUID 新的魔法书出来了，自然要研习把玩一番。MS提供了一套VS 2008的SDK，包含了这样的代码示例。在这些示例中，大多用到的是MSBuild以及WiX配置来进行程序的编译，打包成安装程序，第一次看上去还是有点晕的。在研究了示例提供的WiX配置文件之后，了解到使用TCI注册Toolbox最核心的口诀是以下几条： 在你的安装包中引入Merge Module &#8211; TbxCtrlsInstDefaultItemsCA.msm （在哪里找到它？{Program Files}\Microsoft Visual Studio 2008 SDK\VisualStudioIntegration\Redistributables）这个msm负责通知TCI有新的控件安装到了Toolbox中 &#8211; 这样下一次Visual Studio打开Toolbox的时候，就会自动安装那些新的ToolboxItem。当然，这个msm所做的事情，也可以自己写代码实现 &#8211; 但有现成的用又何乐不为呢！VS 2008 SDK: [...]<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="4"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="C# 2005 compiler could not be created 问题解决办法一则" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2009%2F06%2Fcompiler-could-not-be-created.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2008%2F06%2Fadd-control-to-vs-toolbox.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">C# 2005 compiler could not be created 问题解决办法一则</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Zend For Eclipse 6.1发布" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fsoftware-express%2F2008%2F09%2Fzend-studio-for-eclipse-sneak-preview.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2008%2F06%2Fadd-control-to-vs-toolbox.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11300187.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Zend For Eclipse 6.1发布</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="手把手教你把Vim改装成一个IDE编程环境(图文)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fsoftware-express%2F2008%2F06%2Fvim-configuration-guide.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2008%2F06%2Fadd-control-to-vs-toolbox.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11300539.png" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">手把手教你把Vim改装成一个IDE编程环境(图文)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="七月SmashingMagazine壁纸赏" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Ftranslation%2Fsmashingmagazine-translate%2F2008%2F07%2Fsmz-wallpaper-calendar-july-2008.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2008%2F06%2Fadd-control-to-vs-toolbox.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11299822.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">七月SmashingMagazine壁纸赏</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="4" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>要不是因为手中的Framework项目需要在Windows Installer中对Visual Studio 2008的Toolbox添加控件，我也不会认识到让人纠结的ToolBoxItems.Add (EnvDTE，参见MSDN)&#8230;<br />
不敢计算我在这个问题上浪费了多少生命，只是伤心为什么自己喜爱的产品连续3（4？2002？）个版本都没能修正这一个API。。。<br />
我只觉得有必要把这个问题总结一下(大多数资源来自于Google)，希望更多人看到，避免在这个问题上浪费时间</p>
<p>早在Visual Studio 2003时代，勇于实践的前人们在多次尝试后终于发现，要使用ToolBoxItems.Add方法对Toolbox添加包含控件的dll，必须念完三条准备咒语：</p>
<ul>
<li>激活当前ToolboxTab</li>
</ul>
<pre class="codeStyle"><span style="color: #000000">toolboxTab.Activate();</span></pre>
<ul>
<li>运行<font face="Verdana">“View.PropertiesWindow”</font>命令</li>
</ul>
<pre class="codeStyle"><span style="color: #000000">dte.ExecuteCommand(</span><span style="color: #800000">"</span><span style="color: #800000">View.PropertiesWindow</span><span style="color: #800000">"</span><span style="color: #000000">, String.Empty);</span></pre>
<ul>
<li>选择第一个控件（Pointer）</li>
</ul>
<pre class="codeStyle"><span style="color: #000000">toolboxTab.ToolBoxItems.Item(</span><span style="color: #800080">1</span><span style="color: #000000">).Select();</span></pre>
<p><span style="color: #000000">咒语颂完，法力生效，我们终于可以随心所欲地使用ToolBoxItems.Add方法了。为什么必须念那三条咒语呢？笔者没有研究过。</span></p>
<p><span style="color: #000000">好了，两年后，2003的兄弟，2005，法力更加强大，旧的控件注册代码移植过来全部失效。这时，VS Extensibility团队的高僧站了出来，提供了一段代码：<br />
<font color="#1d58d1" face="Verdana"><a href="http://code.msdn.microsoft.com/vsx/Release/ProjectReleases.aspx?ReleaseId=147">http://code.msdn.microsoft.com/vsx/Release/ProjectReleases.aspx?ReleaseId=147</a></font> </span><span style="color: #000000">代码的关键是&#8230;在注册控件之前，你必须创建一个”Dummy”的WinForms项目，并且，由于添加项目时的EnvDTE.Solution2.AddFromTemplate方法可能会持续很长一段时间，为了防止程序因停止响应，你需要实现IMessageFilter。<br />
然后这个方法怎么看也像是个偏门。。。总是不优雅。笔者未曾测试过这段代码。</span><span style="color: #000000"></span></p>
<p><span style="color: #000000">也许是个补偿吧，最后，MS推出了ToolboxControlsInstaller （TCI） &#8211; 一个独立的package，终于提供了一个新的方法解决了Toolbox控件注册问题。对于VS 2005，TCI是一个单独的安装包，你需要另外下载并安装（包含在VS 2005 Version 4 SDK里）（<font color="#1d58d1" face="Verdana"><a href="http://www.microsoft.com/downloads/details.aspx?familyid=51A5C65B-C020-4E08-8AC0-3EB9C06996F4&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?familyid=51A5C65B-C020-4E08-8AC0-3EB9C06996F4&amp;displaylang=en</a></font>）；对于VS 2008，它已经被集成在了VisualStudio里边，不需要额外的安装。要验证你的VisualStudio是否安装了TCI，检查以下注册表项即可：<br />
<font face="Verdana">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\{2c298b35-07da-45f1-96a3-be55d91c8d7a}<br />
</font>（对于2005，把”9.0&#8243;换成”8.0&#8243;）{2c298b35-07da-45f1-96a3-be55d91c8d7a}即是TCI Package的GUID<br />
新的魔法书出来了，自然要研习把玩一番。MS提供了一套VS 2008的SDK，包含了这样的代码示例。在这些示例中，大多用到的是MSBuild以及WiX配置来进行程序的编译，打包成安装程序，第一次看上去还是有点晕的。在研究了示例提供的WiX配置文件之后，了解到使用TCI注册Toolbox最核心的口诀是以下几条：</span><span style="color: #000000"></span></p>
<ol>
<li>在你的安装包中引入Merge Module &#8211; <font face="Verdana">TbxCtrlsInstDefaultItemsCA.msm</font> （在哪里找到它？{<font face="Verdana">Program Files}\Microsoft Visual Studio 2008 SDK\VisualStudioIntegration\Redistributables）这个msm负责通知TCI有新的控件安装到了Toolbox中 &#8211; 这样下一次Visual Studio打开Toolbox的时候，就会自动安装那些新的ToolboxItem。当然，这个msm所做的事情，也可以自己写代码实现 &#8211; 但有现成的用又何乐不为呢！VS 2008 SDK: <font color="#1d58d1" face="Verdana"><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=30402623-93CA-479A-867C-04DC45164F5B&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=30402623-93CA-479A-867C-04DC45164F5B&amp;displaylang=en</a></font> </font></li>
<li>将待安装的ToolboxItem写入注册表。</li>
</ol>
<p>对于已在GAC内的控件Assembly，直接建立这样一个Key<br />
<font face="Verdana">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\ToolboxControlsInstaller\LuxelLab.LabWinControl, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e932685e2a14e8b1, processorArchitecture=MSIL        并为其创建一个无名的String Value &#8211; 这个就是Toolbox Tab的名称。该Assembly下边的所有Toolbox控件都会被自动安装到这个Toolbox Tab下边。<br />
</font></p>
<p><font face="Verdana">         <img src="http://www.cnblogs.com/images/cnblogs_com/luxel/registry1.jpg" border="0" /><br />
</font>        对于欲从文件系统安装的控件，在上一个Key的基础上，为其添加一个名为”<font face="Verdana">Codebase”的String Value &#8211; 代表dll的位置<br />
<img src="http://www.cnblogs.com/images/cnblogs_com/luxel/registry2.jpg" border="0" /><br />
</font>        把”VisualStudio”替换成”VCExpress”，或者”VCSExpress”等等，即可实现为各种Express版本的IDE安装Toolbox Controls。<br />
该方法也适用于 WebControl，WPFControl的安装</p>
<p>好啦，就那么简单，下一次打开IDE的Toolbox时，在一小段”Initializing Toolbox”的功夫之后，安装的控件们就出现在工具箱里了（看不到？Show All试试），很可靠，童叟无欺。</p>
<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="4"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="C# 2005 compiler could not be created 问题解决办法一则" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2009%2F06%2Fcompiler-could-not-be-created.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2008%2F06%2Fadd-control-to-vs-toolbox.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">C# 2005 compiler could not be created 问题解决办法一则</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="Zend For Eclipse 6.1发布" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fsoftware-express%2F2008%2F09%2Fzend-studio-for-eclipse-sneak-preview.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2008%2F06%2Fadd-control-to-vs-toolbox.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11300187.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Zend For Eclipse 6.1发布</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="手把手教你把Vim改装成一个IDE编程环境(图文)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fsoftware-express%2F2008%2F06%2Fvim-configuration-guide.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2008%2F06%2Fadd-control-to-vs-toolbox.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11300539.png" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">手把手教你把Vim改装成一个IDE编程环境(图文)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="七月SmashingMagazine壁纸赏" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Ftranslation%2Fsmashingmagazine-translate%2F2008%2F07%2Fsmz-wallpaper-calendar-july-2008.html&from=http%3A%2F%2Fwww.1x3x.net%2Fblog%2Fdotnet-world%2F2008%2F06%2Fadd-control-to-vs-toolbox.html">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/06/07/11299822.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">七月SmashingMagazine壁纸赏</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="4" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></content:encoded>
			<wfw:commentRss>http://www.1x3x.net/blog/dotnet-world/2008/06/add-control-to-vs-toolbox.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

