今天将ArcGIS系列的软件从ArcGIS9.3.1升级到ArcGIS10.1,然后就使用VS创建一个简单的AE应用程序,然后拖放一个toolbar、LicenseControl以及MapControl控件。
接着编译应用程序,编译成功。
然后单击F5运行程序,这个时候程序报错,出现下面所示的错误:
ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS components.
问题解决方案:
在系统的入口添加下面的一行代码:
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
当然上面这样代码也可以添加到其他的适合的位置,本人感觉放到程序的入口最合适
这里还需要添加一个Reference:ESRI.ArcGIS.Version
完整的参考代码如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}