随笔分类 -  C#

ASP.NET LinqDataSource数据绑定后,遇到[MissingMethodException: 没有为该对象定义无参数的构造函数。]问题。
摘要:问题出现的情形:LinqDataSource数据绑定到DetailsView或GridView均出错,错误如下: 问题原因:自己创建的datacontext部分类缺失了0参数的构造函数。 解决办法:不更改VS自动生成的dbml文件(mystudent)的datacontext部分类(mystuden 阅读全文
posted @ 2019-10-15 21:16 yeahgis 阅读(1339) 评论(0) 推荐(0)
Windows下编译C#可用的GDAL附带netCDF格式支持库的一点拾遗
摘要:之前一直在搞GDAL的C++开发,因此对linux下的GDAL编译算是有一点心得,但是从未搞过Windows下的GDAL编译,更没有弄过.NET平台下的GDAL库。今天一天时间总算是编译出了.NET(x86)可用的GDAL with netCDF库,把遇到的几个问题记下来。1、Windows下GDAL C/C++库的编译(1)由于要支持netCDF格式,因此首先下载UNIDATA提供的netcdf的二进制发行包,下载地址:netCDF4.3RC4-NC4-DAP-32.exe安装解压后,只需要其中的bin、deps、include、lib四个文件夹及其内容,假设放在本地D:\GDAL\comp 阅读全文
posted @ 2013-04-10 00:52 yeahgis 阅读(5532) 评论(3) 推荐(1)
C#调用CLI封装的非托管C++ DLL报错:未能加载由**.dll导入的过程
摘要:今天需要做一个用C#调用CLI封装的标准C++ DLL的DEMO,以前运行的好好的,结果今天就报出了这个错误:未能加载由**.dll导入的过程。本人也是很长时间没有用C#做这种事情了,在排除路径和dll缓存问题之后,想了半天还应该是底层库出了问题,没办法,把所有非托管的C++dll挨个替换成最新的版本,重新编译执行,一切就OK了,看来该整治一下版本混乱的问题了。 阅读全文
posted @ 2012-10-19 19:17 yeahgis 阅读(4754) 评论(0) 推荐(0)
C#调用使用C++\CLI封装的标准C++ DLL问题:无法访问受保护的内存,这通常指示其他内存已损坏
摘要:最近需要把使用标准C++开发的dll使用C++\CLI封装,以供C#下调用,各种工作都完成之后,却发现一个很奇怪的问题:无法访问受保护的内存,这通常指示其他内存已损坏。由于C#的程序是个web应用程序,当网站只有单个用户访问或者并发量很低时,没有任何问题,可是当网站并发量稍微一大,立马报错。由于出现问题的模块最终定位在一个依赖的第三方dll,也是使用标准C++编写,后来猜测可能是因为这个dll不支持多线程调用而导致这个问题。后来查看确实是这个问题所导致,没办法,又把C++\CLI封装的库改为控制台程序,使用C#去调用exe文件,但是目前只能通过硬盘来保存中间结果,而无法通过exe来输出二进制流 阅读全文
posted @ 2011-12-03 16:12 yeahgis 阅读(1899) 评论(2) 推荐(0)
WIN7(x64) IIS7.5 404.17错误:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
摘要:平台:.Net4.0IDE:vs2010 C#出现该错误的原因是web server没有为特定类型的页面或者脚本映射到正确的处理程序。打开IIS管理器,找到“处理程序映射”,在列表右击选择“添加脚本映射”即可。eg:我的页面是*.ashx,将该类型的页面的处理程序映射为“%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll”即可。另外:运行于64位系统.net4.0上的IIS7.5,必须将应用程序池的默认和高级设置中的以下两项做如下设置: 托管管道模式=classic; 启用32位应用程序=true;才能正确执行。20... 阅读全文
posted @ 2011-11-12 11:58 yeahgis 阅读(8892) 评论(4) 推荐(0)
ASP.NET与非托管DLL的那些事儿
摘要:环境VS2010 语言:ISO C++、C++\CLI和C# 多语言集成编程 最近在用ASP.NET(C#)开发一个WMS服务器的原型,由于标准C++开发的dll无法直接被C#引用,因此采用(类似SWIG自动包装的效果)C++\CLI进行二次封装和桥接(其实这也是SuperMap的套路,与ESRI的COM的确是不样)。现在遇到这样一个问题,首先做个假设:(1)最底层的库是标准C++编写,最终生成的DLL假设叫isocpp.dll,这样的dll也叫做native dll,属于unmanaged(非托管)dll。(2)为了让C#能够调用这个isocpp.dll,我使用C++\CLI对它进行... 阅读全文
posted @ 2011-11-12 11:58 yeahgis 阅读(4023) 评论(4) 推荐(3)
异常:System.BadImageFormatException,未能加载正确的程序集XXX
摘要:IDE:VS2010语言:C#异常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项。。。一般是由于目标程序的目标平台与其某一依赖项的目标编译平台不一致导致,把所有的项目都修改到同一目标平台下(X86、X64或AnyCPU)进行编译,一般即可解决... 阅读全文
posted @ 2011-11-12 11:56 yeahgis 阅读(52951) 评论(5) 推荐(4)
解决GDI+中“内存不足”问题
摘要:近日用GDI+做一个图片处理的小程序,需要实现调整图片的亮度、对比度、饱和度和Gamma值的功能。一开始试验逐个像素的处理,可是对于一副2592*1944的普通数码照片来说处理一副图像竟然将近20秒,无法忍受,需要寻找效率更高的方法。研究了下MSDN,发现.net给我们提供了一个更为方便的方法,就是使用颜色矩阵(ColorMatrix),或者称为颜色变换矩阵,位于System.Drawing.Imaging命名空间下。.net为我们对图形图像的变换、调节等操作进行了优化,对于一副2592*1944的普通数码照片,要达到同样的效果大约不到逐个像素处理方法的1/10的时间即可完成。 问题来了。在运 阅读全文
posted @ 2011-11-12 11:53 yeahgis 阅读(2266) 评论(0) 推荐(0)
由Login.aspx引发编译器错误的解决方法
摘要:当我们新建一个网站的时候,只要涉及到用户管理,一般都会把用户登录的页面作为网站的起始页。而这个起始页最为经常使用的一个名字便是:“Login”。当然这样在编码和调试环境下并没有什么不妥,也不会有什么错误或者警告的提示。但是当我们把做好的网站编译完成后,Copy到别的机器上进行发布时,问题就来了。用IE浏览会提示下面的错误信息:编译器错误信息: CS0030 无法将类型“ASP.login_aspx”转换为System.Web.UI.WebControls.Login” 2008-05-02 18:39编译器错误信息: CS0030: 无法将类型“ASP.login_aspx”转换为“Syste 阅读全文
posted @ 2011-11-12 11:47 yeahgis 阅读(604) 评论(0) 推荐(0)
VS2005 中关于“LC.EXE已退出,代码为 -1”的错误解决方法。
摘要:最近在用VS2005做东西时遇到一个比较莫名的问题,当在自己的解决方案中引用了一系列的第三方软件或者控件后,当我获取了整个程序的最新版本,对整个工程再在本地进行编译会出现“LC.EXE已退出,代码为 -1”的错误。后来查了一下资料,高手们给出的错误原因和解决方法是:可能的原因是:在你的项目中引用了第三方组件,并且这个第三方组件是个商业组件,他在组件的主使用类定义了LicenseProvider(typeof(LicFileLicenseProvider))这个Attribute。 VS2005在编译时检测到这个类的时候,会检查到组件使用的是LicFileLicenseProvider这个属性, 阅读全文
posted @ 2011-11-12 11:46 yeahgis 阅读(624) 评论(0) 推荐(0)