【ArcGIS二次开发】CreateFeature报错(HRESULT E_FAIL)

在VS2010下基于ArcGIS 10.1做二次开发时遇到个奇怪的问题,对于MXD工程文档中已经存在的图层,获取其FeatureClass可以调用CreateFeature()函数生成要素,但是对于通过程序代码(AddShapFile())添加到MXD工程中的图层,获取其FeatureClass后再执行CreateFeature()就会报COM错误(Error HRESULT E_FAIL has been returned from a call to a COM component,代码0x80004005),如下图所示:

error

首先排除不是代码错误,又检查了一下也不是数据问题,最有可能的就是开发环境的问题了,在google中大海捞针般终于找到一条有用信息:

answer

死马当活马医,于是把临时加载到工程中的的SHP文件放到C盘根目录下,重新执行程序,问题竟然解决了……我惊呆了……