正在使用 VS 2005 并希望将我的 .NET C# 应用程序部署到设备(扫描仪 Honeywell 7600)
在设备上,.NET 2 CF (SP1) 与 Windows CE 5.0 一起运行。
如果我在 VS(智能设备 -> Windows CE 5.0 -> 设备应用程序)中创建一个默认项目并部署应用程序,一切正常。
现在,如果我添加一个程序集引用,例如log4net并想要部署,则会将许多额外的程序集部署到设备上。实际上太多了,设备磁盘空间不足,请参阅以下 VS consoloe 输出:
部署 'C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll'
部署 'C:\Windows\assembly\GAC_32\System.Data.OracleClient\2.0.0.0__b77a5c561934e089\System.Data.OracleClient。 dll'
部署 'C:\Windows\assembly\GAC_MSIL\System.Deployment\2.0.0.0__b03f5f7f11d50a3a\System.Deployment.dll'
部署 'C:\Windows\assembly\GAC_32\System.Web\2.0.0.0__b03f5f7f11d50a3a\System. Web.dll'
部署 'C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'
部署 'C:\Windows\assembly\GAC_MSIL\System.Configuration.Install\2.0.0.0 __b03f5f7f11d50a3a\System.Configuration.Install.dll'
部署和/或注册失败并出现错误:0x8973190e。写入文件 '%csidl_program_files%\scanandtrackdotnet\system.data.dll' 时出错。错误 0x80070070:Es steht nicht genug Speicherplatz auf dem Datenträger zur Verfügung。
========== 构建:1 成功或最新,0 失败,0 跳过 ==========
========== 部署:0 成功, 1 失败, 0 跳过 ==========
问题:为什么将 System.Drawing.dll 和 System.Data.OracleClient.dll 等部署到设备上,它们是 .NET Framework 的一部分?.NET 2 CF 已经安装在设备上,那么为什么要再次部署这些程序集呢?