访问VS2012中Microsoft.VisualStudio.VCProjectEngine程序集的VS2010版本



我的公司最近创建了一个Visual Studio 2010加载项,允许我们从2010、2008和2005年的任何给定Visual Studio项目中创建LINT文件。我们现在希望在Visual Studio 2012中使用相同的外接程序,因为我们知道,在不久的将来,我们的许多客户都会使用它,如果还没有的话。

我们认为它应该是一个简单的"switch-in",相同的代码应该同时适用于两者,但你瞧,VS10插件在VS12中不起作用。因此,我将代码(绝对没有更改)复制到VS12插件中,令人惊讶的是,它确实起了作用。当然,我们不希望有两个版本的相同代码;不利于可读性,不利于可维护性,所以我们仍然希望找到一种方法让VS10插件在VS12中工作。

我认为问题出在Microsoft.VisualStudio.VCProjectEngine程序集中。这在VS12中的解释与在VS10中的解释不同,这意味着当VS12读取外接程序时,它不会做我们希望它做的事情

我已经对这个问题做了一些研究,很多人建议通过反思来创建一个变通方案,但我对这个概念相当陌生,没有足够的信心尝试它,并冒着严重破坏插件的风险。

所以我的问题是:有没有一种简单的方法可以将Microsoft.VisualStudio.VCProjectEngine的VS10版本读取到VS12中?

非常感谢:)

我后来找到了这个问题的答案,并意识到这个问题还没有在线程上得到证实。

答案确实在于VCProjectEngine程序集。由于某些原因,这是Visual Studio 2010中与Visual Studio 2012中的模块(具有相同名称)不同的模块,这意味着在VS2012中编写时需要该模块的任何代码在VS2010中都无法工作,反之亦然。

这很痛苦,因为这意味着我们有两批完全相同的代码,但这是必须的

相关内容

最新更新