一般编译会出现

1.“ResGen.exe”已退出,代码为2 问题处理

2.“错误 2 “LC.exe”已退出,代码为 -1。 NBGIS.MainGIS”

3.“未能加载文件或程序集“ESRI.ArcGIS.Carto, Version=10.0.0.0, Culture=neutral, PublicKeyToken=8fc3cc631“

对于.net3.5平台 其中第一个问题因为64为编译过程中会调用resGen.exe,从而导致编译错误,解决方法用两种:

1. 关闭Visual Studio。

2. 在Visual Studio Tools目录,以管理员身份运行Visual Studio Command Prompt (2010),

[注:这个在开始--所有程序--microsoft visual studio 2010 下面]

切换目录到":\Program Files (x86)\Microsoft SDKs\Windows\v\bin\”. ( 我的是v7.0A )

[注:用cd命令切换目录]

3. 执行命令:
corflags /32bit+ ResGen.exe /force

4. 在记事本中打开 .csproj 文件

5. 添加<ResGenToolArchitecture>Managed32Bit</ResGenToolArchitecture>这个属性在PropertyGroup下面: 然后保存文件。

再次尝试编译,一切OK!

或者在记事本中打开.csproj文件,添加如下代码:

<!-- Workaround for VS2010 .NET 3.5 application referencing x86 assembly in resx file on 64-bit OS http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/e5900710-9849-4d10-aa28-48b734d06bf2 --> <PropertyGroup> <ForceResGen32Bit Condition="'$(MSBuildToolsVersion)'=='4.0' And '$(PROCESSOR_ARCHITEW6432)'!='' And '$(TargetingClr2Framework)'=='true' And '$(PlatformTarget)'=='x86'">true</ForceResGen32Bit> </PropertyGroup> <Target Name="BeforeResGen" Condition="'$(ForceResGen32Bit)' == 'true'"> <PropertyGroup> <ResGenSdkToolsPath>$(IntermediateOutputPath)ResGenForced32Bit\</ResGenSdkToolsPath> </PropertyGroup> <!-- Copy resgen.exe to intermediate working directory for UAC settings --> <Copy SourceFiles="$(TargetFrameworkSDKToolsDirectory)ResGen.exe" DestinationFiles="$(ResGenSdkToolsPath)ResGen.exe" /> <!-- corflags.exe resgen.exe /32BIT+ /Force--> <Exec WorkingDirectory="$(ResGenSdkToolsPath)" Command=""$(TargetFrameworkSDKToolsDirectory)corflags.exe" ResGen.exe /32BIT+ /Force" /> <!-- GenerateResource Task parameters Using the non-64bit Tracker.exe and indicate resgen.exe has been forced to x86 --> <PropertyGroup> <ResGenTrackerSdkPath>$(SDK40ToolsPath)</ResGenTrackerSdkPath> <ResGenToolArchitecture>Managed32Bit</ResGenToolArchitecture> <CacheTargetFrameworkSDKToolsDirectory>$(TargetFrameworkSDKToolsDirectory)</CacheTargetFrameworkSDKToolsDirectory> <TargetFrameworkSDKToolsDirectory>$(ResGenSdkToolsPath)</TargetFrameworkSDKToolsDirectory> </PropertyGroup> </Target> <Target Name="AfterResGen" Condition="'$(ForceResGen32Bit)' == 'true'"> <PropertyGroup> <TargetFrameworkSDKToolsDirectory>$(CacheTargetFrameworkSDKToolsDirectory)</TargetFrameworkSDKToolsDirectory> </PropertyGroup> <RemoveDir Directories="$(ResGenSdkToolsPath)" Condition="Exists('$(ResGenSdkToolsPath)')" /> </Target> 

  重新加载即可。

而对于更早的像.net2.0平台的东西,则应该继续

1、解决方案资源管理器窗口中,右键项目==》属性
2、在弹出的属性页面中,选择“生成”选项卡
3、修改“生成”选项卡里面的“目标平台”为:"X86"
4、重新编译程序Ok

如果应用的三方控件,还有可能出现第三种错误,解决方案如下:

1、把项目文件夹下Properties文件夹下的licenses.licx文件删除,重新编译即可;

2、文本方式打开*.csproj文件,在文件中查找licenses.licx字样,删除对应节点。

注意:还有一种情况就是Properties文件夹下已经没有licenses.licx文件了,程序还是报这个错,这个时候你只需要重命名一个空的txt文件为licenses.licx再放入Properties文件夹,问题也可解决。

至此,一般的项目迁移既可以完成。

如果是在做AE9.2的项目迁移10.0,可能

找不到ESRI.ArcGIS.Utility;的引用  解决方方案如下 :

在ArcGIS10环境中找不到ESRI.ArcGIS.Utility、ESRI.ArcGIS.Utility.BaseClasses等引用,ArcGIS9.2之后Utility会逐渐被丢弃的,转而用ADF来代替,把ESRI.ArcGIS.Utility和ESRI.ArcGIS.Utility.BaseClasses改为ESRI.ArcGIS.ADF、ESRI.ArcGIS.ADF.BaseClasses问题解决。

注意:因为BaseClasses存在存在ESRI.ArcGIS.ADF和ESRI.ArcGIS.ADF.local中,因为将ESRI.ArcGIS.ADF.local引用因该删除。

64位win7+vs2010编译.net3.5以前的版本问题的更多相关文章

  1. 64位Win7下编译Python3的计算机视觉库:OpenCV

    注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) OpenCV目前最新版是3.0.0 rc1,官方给出了编译好的Python2可以直接使用 ...

  2. 64位Win7下编译hadoop 1.2.1问题解决

    0.报sed的错误.原因在于没有安装cygwin.安装cygwin的时候要选择sed 1.Cannot run program "autoreconf". 这个问题在网上看了很多解 ...

  3. 64位Win7下用VS2010编译OpenSSL

    http://blog.csdn.net/henter/article/details/8364532 首先要说明,如果不想自己编译OpenSSL,可以到 http://slproweb.com/pr ...

  4. 64位Win7系统下vs2010调试无法连接oracle

    64位win7系统的Program Files (x86)路径中有括号,oracle不认识这样的路径,所以就出现不能连接数据库的问题.所以我们可以将vs2010的内部调试web服务器WebDev.We ...

  5. 64位Win7系统下vs2010调试无法连接oracle解决办法

    具体的解决办法如下: 1.先将WebDev.WebServer20.EXE和WebDev.WebServer40.EXE文件从Program Files (x86)目录中拷贝出来放到c:\dev目录中 ...

  6. 64位win7安装jdk和eclipse

    本人正确安装成功步骤,对他人可能无用: 1.直接拷以前32位eclipse ADT 2.安装32位的jdk:jdk-8u45-windows-i586 3.ok,所有环境变量无需手工设置 eclips ...

  7. 64位win7连接ACCESS报错“Microsoft.Jet.OLEDB.4.0”问题

    本人开发了桌面软件,关于事务提醒,自己一直在用,很喜欢,但是在64位win7上无法运行,网上说多种方法,都觉得麻烦.后来自己在vs2012下编译成x86版本,结果可以运行在64位win7下了. 原来如 ...

  8. 64位win7中使用vs2013为python3.4安装pycrypto-2.6.1插件报Unable to find vcvarsall.bat异常解决方式

    问题描写叙述: 64位win7中使用vs2013为python3.4.2安装pycrypto-2.6.1插件报Unable to find vcvarsall.bat. 问题分析: 1.源代码分析,查 ...

  9. Hadoop 3.2.1 win10 64位系统 vs2015 编译

    Hadoop 3.2.1 win10 64位系统 vs2015 编译 1        环境配置 1.1   JDK下载安装 1.1.1         下载 JDK 1.8    (jdk1.8.0 ...

随机推荐

  1. Constraint6:更新外键约束(Foreign Key Constraint)的引用列

    在SQL Server中,表之间存在引用关系,引用关系通过创建外键约束(Foreign Key Constraint)实现.如果一个Table中的column被其他Table引用,那么该表是参考表,或 ...

  2. jQuery 2.0.3 源码分析 样式操作

    根据API分类 CSS addClass() jQuery.cssHooks .hasClass() .removeClass() .toggleClass() .addClass() 对元素的样式操 ...

  3. OpenCascade Primitives BRep-Cone

    OpenCascade Primitives BRep-Cone eryar@163.com Abstract. BRep is short for Boundary Representation. ...

  4. WPF绘制折线

    WPF后台绘制折线,填充到一个GRID下 private void btnPreview_Click(object sender, RoutedEventArgs e) { GridImg.Child ...

  5. DOM扩展-Selectors API(选择符 API)、元素遍历

    DOM扩展 对DOM的两个主要扩展是SelectorsAPI(选择符API)和HTML5 SelectorsAPI(选择符API)是由W3C发起制定的一个标准,致力于浏览器原生支持CSS查询,Sele ...

  6. No zuo no die:DDD 应对具体业务场景,Domain Model 重新设计

    写在前面 上联:no zuo no die why you try 下联:no try no high give me five 横批: let it go上联:no zuo no die why y ...

  7. Windows Server 2012 为什么没有“磁盘清理”选项了?

    用习惯了客户端版的Windows,对于磁盘清理想必大家都不会陌生,他具有安全.快捷.准确.集中化的删除系统中的临时文件.管理系统还原卷影副本.添加删除程序的快捷入口等便捷功能,而在Server版的Wi ...

  8. (六)WebGIS中地图瓦片在Canvas上的拼接显示原理

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在之前的五个章节中,我们在第一章节里介绍了WebGIS的基本 ...

  9. RadioGroup、RadioButton、CheckBox、Toast用法

    xml布局文件如下: <RadioGroup android:id="@+id/sex" android:layout_width="wrap_content&qu ...

  10. SQL Server 数据缓存

    引言 SQL Server通过一些工具来监控数据,其中之一的方法就是动态管理管理视图(DMV). 常规动态服务器管理对象 dm_db_*:数据库和数据库对象 dm_exec_*:执行用户代码和关联的连 ...