怎样做才能让VS.NET IDE支持新的扩展名

2004-12-17 by 开心就好

在我们的网络应用里,我们需要生成新的Project Items模板,而且拥有新的扩展名(譬如".joy")。但我们希望由此产生的新文件(譬如"a.joy") 跟通常生成的"a.aspx"文件的行为一样,即,有设计视图,可以往上面拖控件,HTML视图支持Intellisense,等等。

我们参照了Chris Sells网站Michael Weinhardt的文章,经过少许改动后,能够在VS.NET IDE里成功生成新的文件(a.joy)以及相应的code behind文件(a.joy.vb)。然后参照下面2个连接里的提示,

http://weblogs.asp.net/ralfw/archive/2004/11/05/252865.aspx

http://dotnetjunkies.com/WebLog/darrell.norton/archive/2004/04/21/11837.aspx (这个连接中的最后一个答复者遇到了跟我们一样的问题)

我们对注册表里下列的几个Key添加了对应的条目,

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\Editors
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\Editors
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\Languages

理论上讲,在编辑a.joy时,我们应该得到HTML编辑器,但我们得到的却是XML编辑器。

我们估计是注册表里的问题,所以我们试着改动注册表,几乎找遍了所有跟".aspx"有关的条目,都为".joy"添加了相应的条目,但我们得到的却总是XML编辑器。

感觉这不应该是个很难的问题,因为改动扩展名是很正常的事,譬如微软中国网站用的是“.mspx”。实际上,要运行的话,只要改动IIS里的应用影射,以及在machine.config或web.config里添加相应的httpHandler即可。

估计是我们的方法不对,这里高人甚多,特别是这里微软VS.NET产品组的朋友,如果能指点一下的话,不胜感激之致


Comments