问题:偶然研究一个开源项目,遇到vs编译报错“当前上下文不存在InitializeComponent() ”和“不存在XXX(一些明明存在的控件名)",但是运行调试却正常。
原因:由于vs编辑器的锅(一般是VS不同版本下编译运行会出现的问题),猜测项目开发使用的是比较老版的vs生成的.csproj项目文件有些许差异,导致系统生成的.g.i.cs文件有问题而报错。
解决方式:将.csproj项目文件中的
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" / >
替换成
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets"/ >
<Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets"/ >
ps:因本文解决方式来源网络,仅作记录分享,如有侵权请联系删除