我大部分时间都在为WPF和Silverlight开发控件,使用相同的代码库。为了做到这一点,我将一个项目(比如Silverlight)中的现有文件 "作为链接" 添加到另一个项目(比如WPF)中。对于小的差异,我使用预处理器指令,例如
#if SILVERLIGHT
...
#else
...
#endif
这些代码块的灰色效果取决于您打开文件所在项目的类型。因此,如果您从Silverlight项目(其中定义了SILVERLIGHT)打开文件,则else部分将变灰,并且Intellisense不会在其中工作。为了使IDE处理WPF部分(带有彩色和Intellisense支持),您需要从WPF项目中打开文件。当您尝试这样做时,会弹出一个消息框,显示“此文档已由另一个项目打开”,当您单击确定后,它会在Silverlight项目的上下文中显示该文件(这不是我想要看到的)。因此,我必须关闭该文件,再次导航到WPF项目并重新打开该文件。这非常、非常让人烦恼。
因此,问题是:是否有某种设置或插件可以使Visual Studio从我双击它的项目中重新打开文件,而不是显示那个愚蠢的消息框并显示我希望看到的"错误"项目中的文件?