这是我今天下午遇到的一个奇怪的问题……我有一个混合模式库,这是我不久前制作的,它在 VS2008 上构建得很好。我正在转换到 VS2010,并尝试使用 VS2010 IDE 构建这个库。正如所料,IDE告诉我解决方案需要转换为VS2010,我让它去做......转换没有错误。我去构建库,似乎存在构建顺序问题,或者构建过程无法从托管代码中识别出非托管代码。(例如...当引入托管标头时,我看到一个错误:cannot convert int to System::String^
其中有一个类方法将 aSystem::String^
作为其参数之一,并将成员变量设置为其值)。
好的,现在退后一步,回到转换之前的解决方案/项目文件。打开 VS2010 命令提示符并使用 MSBuild 尝试构建解决方案,而无需先进行转换。一切正常。
? 嗯?
项目文件中显然有一些变化,但是什么?为什么 IDE 无法在不转换项目文件的情况下构建项目,而 MSBuild 却不咳嗽就直接通过它们?显然,我希望能够使用 IDE 编辑我的源代码——有没有其他人有过类似的经历或听说过这个问题?关于如何解决它的任何想法?