C# 生成强命名程序集并添加到GAC】的更多相关文章

针对一些类库项目或用户控件项目(一般来说,这类项目最后编译生成的是一个或多个dll文件),在程序开发完成后,有时需要将开发的程序集(dll文件)安装部署到GAC(全局程序集缓存)中,以便其他的程序也可以调用. 注册步骤如下: 1. 生成强程序集 1.1 生成密钥对    (1) 一般在VS的安装目录下 打开开发人员命令提示符.       (2) 管理员权限运行开发人员命令行,输入命令生成密钥,例如: sn -k C:\Users\XXXXXX\Desktop\GAC\MyDLL.key   1…
未能加载文件或程序集“Jonckers.Service.RedisCacheEngineExtend, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项.需要强名称程序集. (异常来自 HRESULT:0x80131044) 强名称签名的方法: 强签名: 可以将强签名的dll注册到GAC,不同的应用程序可以共享同一dll. 强签名的库,或者应用程序只能引用强签名的dll,不能引用未强签名的dll,但是未强签名的dll可…
先说结论,如果有两个拥有相同程序集名称的强命名程序集,一个在GAC里,一个不在.怎样动态加载那个不在GAC里的程序集?答案就是只有Assembly.ReflectionOnlyLoadFrom才可以加载这个程序集, 比如我们把system.dll文件拷贝到D盘(注意应用程序域默认会加载mscorlib.dll,而不是system.dll).然后试试用下面的方法: var path = @"D:\system.dll"; //Load(byte[]) Assembly.Load(File…
UPD(Membership)数据库安装1.使用 Aspnet_regsql.exe 安装数据库 在 C:\WINDOWS\Microsoft.NET\Framework\\aspnet_regsql.exe2.一步步按照指引即可 ClickOnce需要创建证书C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64 1.创建一个自我签署的X.509证书(.cer)和一个.pvk私钥文件,用到makecert工具,命令如下:…
在实际应用程序开发过程中,经常需要向程序中添加软件版本号或者类似的信息,以保证之后发现问题时知道bug所在的版本,我们可以通过在工程名-info.plist文件中设置相关的key/value对(键/值对)来达到以上目的,比如使用“Bundle versions string,short”(读取时使用CFBundleShortVersionString键)来设置version,另外可以设置“Bundle version”(读取时使用CFBundleVersion,是内部标识,用以记录开发版本,对应…
出现该问题的原因:FormMain从FormMainBase继承之后,一旦修改FormMainBase就会出现这个问题 解决方案:(1-4是搜索网友的) 1: 关闭VS所有窗口,后重启.即可返回正常. 2: 第一种方案不成功,关闭VS所有窗口,点击解决方案->清理解决方案->点击解决方案->重新生成解决方案  即可 3: 第二种方案不成功,关闭VS所有窗口,检查是否引用第三方控件,如Developer Express 重新导入控件,  后 启动VS,重新编译即可. 4 : 第四种方案不成…
如果你想去除一个程序集的强签名(strong name),目前为止可以有两个途径 1  反编译为IL代码,删除签名部分,再编译为程序集 2  应用Re-Sign程序,直接对一个程序集再签名 生成和读取强命名 先来看,如何生成.NET的签名文件,调用命令SN传入参数. 下面的代码读取该文件, FileStream keyPairFile = File.OpenRead("key.sn"); this.byte_2 = new StrongNameKeyPair(keyPairFile).…
如何创建强命名程序集(Strong Name Assembly)     创建一个强命名程序集首先需要获得一个用强命名实用工具   (Strong Name Utility,即SN.exe,.NET SDK自带)产生的密钥.   下面简要介绍一下SN.exe的一些用法. 要产生一个公钥/私钥对:     a)SN –k MyCompany.Keys   该命名告诉SN.exe创建一个名为MyCompany.keys的文件.MyCompany.keys文件将包含以对以二进制格式存储的公有密钥和私有…
依据文档: https://msdn.microsoft.com/en-us/library/hh415055(v=vs.110).aspx 虽然文档上给出了看似完整的步骤,但是如果按照上面的步骤,结果是失败的.而且文档的里的option还用错了.(-ac应该用-a, -ac是用于keypaircontainer) 以下是一个完整的强签名迁移的sample: 用于测试的代码,可以建一个console app,类似下面的例子: using System; using System.Reflecti…
创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段 添加查询功能 本文将实现通过Name查询用户信息. 首先更新GetAll方法以启用查询: public async Task<IEnumerable<User>> GetAll(string searchString) { var users = from u in _context.Users select u; if (!string.IsNullOrEmpty(searchString))…