liye

liye

博客园 首页 新随笔 联系 订阅 管理

在asp.net项目合并或编辑过程有时总会出现 lc.exe 错误 是由于

1.编译过程中出现的错误太多,而设计的显示错误量,达到上限所

2 .在你的项目中引用了第三方组件,并且这个第三方组件是个商业组件,他在组件的主使用类定义了 LicenseProvider(typeof(LicFileLicenseProvider))
这个Attribute。

VS2005在编译时检测到这个类的时候,会检查到组件使用的是LicFileLicenseProvider这个属性,表示有组件使用的是把许可 的辅助信息保存在license.licx文件中,这个文件保存在vs2005中解决方案资源管理器中的Properties文件夹内。
这个文件 的内容实际上是个引用,他保存着你使用的第三方组件主使用类的名称空间+类名+文件名+文化+PublicKeyToken信息,这个文件是自动生成的。
如 果这个信息与你使用的组件dll中的实际内容不匹配,则lc.exe就会出现这个错误信息。

 

解决 办法:

解决方法就是把Properties文件下的license.licx给删除,重新编译,如果还出现这个问题的话,必须将你的破解版的哪个组件使用 lidism给翻译成il语言,然后用ilasm重新编译成dll,在编译的时候加入 /key=[你的强名称文件].snk 参数,自己加入强名称签名,然后使用vs2005重新编译,就可以成功了。

 

 

 

任务失败,原因是未找到“LC.exe”,或未安装正确的 Microsoft Windows SDK。
该任务正在注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A 的 InstallationFolder 值中指定的位置下的“bin”子目录中查找“LC.exe”。
您可以通过执行下列操作之一来解决这一问 题: 
1) 安装 Microsoft Windows SDK for Windows Server 2008 和 .NET Framework 3.5。 
2) 安装 Visual Studio 2008。 
3) 将上面的注册表项手动设置到正确的位置。 
4) 将正确位置传入任务的“ToolPath”参数。 

解决办法:

找到另外一台安装成功的机器,将它的C:\Program Files\Microsoft SDKs\Windows\v6.0A目录下的文件和目录整体拷贝覆盖你本地的v6.0A,在注册表HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A里新建一字符串值,重命名为InstallationFolder,修改其数值数据为C:\Program Files\Microsoft SDKs\Windows\v6.0A即完成。

 

posted on 2010-07-14 19:15    阅读(2240)  评论(0编辑  收藏  举报