我大部分时间都是使用相同的代码库为WPF和Silverlight开发控件。为此,我将一个项目(比如Silverlight)的现有文件“作为链接”添加到另一个项目(比如说WPF)。对于细微的差别我用预处理指令一样Visual Studio:“本文档由另一个项目打开”
#if SILVERLIGHT
...
#else
...
#endif
的代码在这些块取决于你从打开的文件的项目类型是灰色的。因此,如果您从Silverlight项目(SILVERLIGHT已定义)打开文件,则其他部分为灰色,而Intellisense不起作用。
为了使WPF部分能够被IDE处理(具有着色和Intellisense支持),您需要从WPF项目中打开该文件。当你试图这样做时,你会得到一个消息框,说“这个文档是由另一个项目”打开的,当你点击OK时,它会在Silverlight项目的上下文中显示该文件(不是我想看到的)。所以我必须关闭文件,再次导航到WPF项目并再次打开文件。这非常非常烦人。
所以问题是这样的:是否有某种设置或附加组件可以使Visual Studio重新打开项目中的文件,我在其上双击它而不是显示那个愚蠢的消息框并显示该文件从“错误”项目?
到目前为止没有解决这个问题,除了关闭文件。此外,这是在VS2010中锁定“无法构建...”异常的原因。 – 2010-10-25 12:19:16
我不知道是否理论上可以使用插件来处理这个问题:在用户尝试打开文件之前得到通知,查看是否已经从另一个项目打开了相同的文件,关闭该文件并从当前项目重新打开。如果有这样的API,听起来是可行的。 – 2010-10-25 12:58:04
男人,这将是非常好的。烦恼不得不一直关闭并打开文件。 – andrecarlucci 2011-01-13 16:49:42