290 views
开发问题集锦 === ## 项目ClickOnce打包 - 老老实实用VS的打包工具,将依赖文件夹拷贝到打包工程,Include,build 选为 Content,文件多,可用xml打开项目工程,批量编辑 - 注意app.config不能设为content - 启动的窗口默认布局问题 - 发布之前保存布局,存储路径为: ``` C:\Users\用户名\AppData\Roaming\ICSharpCode\SharpDevelop3.0\layouts ``` - 将此文件拷贝至目录data\resources\layouts\ ![](/uploads/upload_03cd91b0a54531728a3cf3e20b41143c.png) ![](/uploads/upload_8f263c1daa250935005c6f300ba26c44.png)![](/uploads/upload_b0d234db6759d2acbbbf4b2aaedd080d.png) - clickonce 安装问题 [卸载](https://blog.csdn.net/m15188153014/article/details/64920782) >HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\Windows\CurrentVersion\Deployment\SideBySide\2.0\PackageMetadata,然后把原来的注册表删了,就可以安装了。 ## VSCODE - ctrl+k ctrl+0 折叠当前全部代码 - ctrl+k ctrl+j 展开当前全部代码 - ctrl+shift+i 插入当前时间 ## Python [whl包库](https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal) ## GDAL - 安装 [miniconda](https://docs.conda.io/en/latest/miniconda.html),修改源地址为阿里云镜像地址 ``` conda init conda config --set show_channel_urls yes 将以下地址,粘贴到 .condarc文件 show_channel_urls: false channels: - https://mirrors.aliyun.com/anaconda/cloud/ursky - https://mirrors.aliyun.com/anaconda/cloud/stackless - https://mirrors.aliyun.com/anaconda/cloud/simpleitk - https://mirrors.aliyun.com/anaconda/cloud/rdkit - https://mirrors.aliyun.com/anaconda/cloud/rapidsai - https://mirrors.aliyun.com/anaconda/cloud/qiime2 - https://mirrors.aliyun.com/anaconda/cloud/pyviz - https://mirrors.aliyun.com/anaconda/cloud/pytorch3d - https://mirrors.aliyun.com/anaconda/cloud/pytorch-test - https://mirrors.aliyun.com/anaconda/cloud/pytorch - https://mirrors.aliyun.com/anaconda/cloud/psi4 - https://mirrors.aliyun.com/anaconda/cloud/plotly - https://mirrors.aliyun.com/anaconda/cloud/omnia - https://mirrors.aliyun.com/anaconda/cloud/ohmeta - https://mirrors.aliyun.com/anaconda/cloud/numba - https://mirrors.aliyun.com/anaconda/cloud/msys2 - https://mirrors.aliyun.com/anaconda/cloud/mordred-descriptor - https://mirrors.aliyun.com/anaconda/cloud/menpo - https://mirrors.aliyun.com/anaconda/cloud/matsci - https://mirrors.aliyun.com/anaconda/cloud/intel - https://mirrors.aliyun.com/anaconda/cloud/idaholab - https://mirrors.aliyun.com/anaconda/cloud/fermi - https://mirrors.aliyun.com/anaconda/cloud/fastai - https://mirrors.aliyun.com/anaconda/cloud/dglteam - https://mirrors.aliyun.com/anaconda/cloud/deepmodeling - https://mirrors.aliyun.com/anaconda/cloud/conda-forge - https://mirrors.aliyun.com/anaconda/cloud/caffe2 - https://mirrors.aliyun.com/anaconda/cloud/c4aarch64 - https://mirrors.aliyun.com/anaconda/cloud/bioconda - https://mirrors.aliyun.com/anaconda/cloud/biobakery - https://mirrors.aliyun.com/anaconda/cloud/auto - https://mirrors.aliyun.com/anaconda/cloud/Paddle - https://mirrors.aliyun.com/anaconda/pkgs/r - https://mirrors.aliyun.com/anaconda/pkgs/msys2 - https://mirrors.aliyun.com/anaconda/pkgs/main - https://mirrors.aliyun.com/anaconda/pkgs/free ``` - 安装gdal ``` conda install gdal=3.4.2 ``` > [color=#6c1faf] geopandas=0.10.2;gdal=3.4.2;fiona=1.8.21 --- - [GDAL编译库](http://www.gisinternals.com/release.php) - shp文件字符串字段长度最大为254 - [参考](https://web.archive.org/web/20140402152927/http://php.scripts.psu.edu/jzl5325/wordpress/?p=60) >使用geopandas接口,依次安装: >1、gdal >2、fiona >3、geopandas --- ## EDM问题 - EntityFramework 由原来的6.2.0和mysql 8.0.21,更新至6.4.4,mysql驱动更新至8.0.29,vs2017和vs2019出现了创建实体模型闪退的问题 > vs2017、2019安装目录对应的mysql驱动为8.0.24,因此只能安装8.0.24及以下connector > 但在本地开发连接远端服务器时,会报“Character set 'utf8mb3' is not supported by .Net Framework.” > 因此,按此处理:<font color="red">生成实体方案是切换到8.0.24版,运行时切换至8.0.29版</font> > SY.EDM工程的引用也切换至8.0.24版本 > 实体生成在sypcloud_v1, vs2019工程中实现 > 发布时在sypcloud工程把SY.EDM编译一下,确保上传的是8.0.29版本的dll - The given key was not present in the dictionary [问题解决方案](https://blog.csdn.net/qq_41603955/article/details/108855516) - 修改一下App.config文件,唤醒vs ## MIKE模型适配器 - SY.MikelModelAdapter 为老的一套的接口 - SY.MikelModelAdapterEx 为新的一套DHI开源的接口,编译须为x64 ## HEC-RAS模型适配器 - HEC River Analysis System COM组件引用,开发版本要与实际运行版本一致 - 河网文件、边界文件、方案文件等,文件中有涉及版本号的,均需修改为运行环境的hecras版本号,否则会导致hecras运行错误。 - 加载已发布到nuget上的hec-dss库 - 添加nuget源地址:> https://www.hec.usace.army.mil/nexus/repository/dss/ - nuget已发布的Hec-dss库对应的.net框架为4.7.2,如工程.net框架低于4.7.2则从nuget加载不了,需自行编译hec-dss - 编译hec-dss - 注意vc编译器的选择 - 注意jdk库的路径 - 注意ivf库的路径 ## jsdelivr CDN 访问不了 - 将http://cdn.jsdelivr.net替换为http://fastly.jsdelivr.net 就行了。如果这个也挂了,打开 https://ipaddress.com/website/raw.githubusercontent.com 将GitHub的ip地址复制到host文件 C:\Windows\System32\drivers\etc\hosts就行,就是麻烦点。 > 作者:每天学点黑科技 链接:https://www.zhihu.com/question/533766356/answer/2495374387 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 ## WCF服务 - 提示:已尝试创建到达不支持 .Net 框架的服务的通道。可能遇到 HTTP 终结点。 > 检查服务端config文件baseAddress使用的端口是否被其他应用占用,换一个端口。 - 服务启动失败 ![](/uploads/upload_0ae7b4a14bfc4bb456b67432e969b0cc.png)![](/uploads/upload_082b7469203cc4d23bfa432df1b1797a.png) > 原因 64bit机器装VS2012时,默认的WcfSvcHost.exe是64位,不兼容加载x86的Dll > 解决方法: 1. 打开VS命令提示行 2. 通过cd命令切换到WcfSvcHost.exe所在文件夹 (一般在安装目录下,如D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE) 3. 运行命令 corflags /32BIT+ /FORCE WcfSvcHost.exe 4. WcfSvcHost.exe.config改为兼容2.0,否则服务调试时调用2.0程序集会出错 ```xml <?xml version="1.0" encoding="utf-8" ?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <runtime> <DisableMSIPeek enabled="true"/> </runtime> </configuration> ``` Vs2015的好像不行,直接用vs2012的覆盖,VS2017 执行步骤3、4。 ## 数据库及分布式存储 ### ORM #### entityframe - 连接数据库报错:基础程序在open上失败的原因 > 解决方法:捕获innerexception消息,根据消息提示进一步查找原因。 ### sqlserver - 无法升级数据库 ‘某某数据库文件’,因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复操作。 > 将拟附加的数据库文件所在文件夹权限添加 everyone 角色 ### mysql - Authentication to host '**' failed. > 如连接字符串没有任何问题,可在连接字符串中加入SslMode=None; ```xml connection string=&quot;server=127.0.0.1;user id=username;password=pwd;SslMode=None;persistsecurityinfo=True;port=3306;database=sypdb&quot;" ``` - Retrieval of the RSA public key is not enabled for insecure connections > 可在连接字符串中加入 AllowPublicKeyRetrieval=True; ### redis - Redis server非正常关闭导致缓存失效,可以修改以下配置参数 >搜索找到配置文件:redis.windows-service.conf 修改以下参数值为on(默认为yes) ``` stop-writes-on-bgsave-error no ``` ## ###### tags: `开发问题集锦` `博客`