;
帖子
3919 
精华
积分
11710 
鱼币
0 ¥ 
来自
大连 
在线时间
1858 小时 
注册时间
2007-6-11 
最后登录
2009-10-20 

贴图大师勋章新人进步勋章宣传大使勋章论坛元老勋章

3
发表于 2009-1-5 19:48 | 只看该作者
淇濇姢浣犵殑DLL鍜孋ode涓嶈鍒汉浣跨敤 - 缂栫▼搴 - Powered by SupeSite

浣犵殑浣嶇疆锛缂栫▼搴 >> 璧勮 >> CSharp >> CSharp鏂囨。 >> 璇︾粏鍐呭 鍦ㄧ嚎鎶曠ǹ

淇濇姢浣犵殑DLL鍜孋ode涓嶈鍒汉浣跨敤

鍙戝竷: 2008-6-30 10:12 |  浣滆: admin |   鏌ョ湅: 21娆

澶у鍋氶」鐩紑鍙戜竴鑸兘鏄垎灞傜殑锛屾瘮濡俇I灞傦紝涓氬姟灞傦紝鏁版嵁璁块棶灞傘備笟鍔″眰寮曠敤鏁版嵁璁块棶灞傜殑DLL(姣斿dataAccess.dll)锛屽苟浣跨敤dataAccess.dll涓殑鏂规硶銆傚綋椤圭洰瀹屾垚骞剁粰瀹㈡埛鐢ㄤ簡锛屽彲鏈変簺蹇冮噷BT鐨勫鎴疯繖涓椂鍊欎篃鍙互璇蜂釜绋嶅井鎳侼ET鐨勪汉鏉ュ紩鐢ㄤ綘鐨刣ataAccess.dll骞惰皟鐢ㄥ叾涓殑鏂规硶鎼炵牬鍧忋傛瘮濡傚彲浠ョ洿鎺ヤ娇鐢ㄩ噷闈㈢殑ChangePwd(string UserName,string Pwd)鏂规硶鎶婂叾浠栫敤鎴风殑瀵嗙爜鏀逛簡锛岃繖涓椂鍊欏氨浣犲氨.......

濂戒簡锛岃寮濮嬭鎬庝箞淇濇姢鎴戜滑鐨勪唬鐮佷簡锛

棣栧厛鎴戜滑闇瑕佹妸鎴戜滑鐨勭▼搴忛泦鍋氭垚寮哄懡鍚嶇殑绋嬪簭闆嗐

杩欓噷鎴戜滑鍦.NET 鍛戒护鎻愮ず涓緭鍏n -k c:\test.snk 鍒涘缓涓涓柊鐨勯殢鏈哄瘑閽ュ骞跺皢鍏跺瓨鍌ㄥ湪 c:\test.snk 涓

鐒跺悗鏂板缓绔嬬被搴揅lassLibrary1锛岄噷闈㈠彧鏈変釜绫绘枃浠禖lass1.cs锛屼唬鐮佸涓嬶細

1using System;

2

3namespace ClassLibrary1

4{

5 public class Class1

6 {

7 public Class1()

8 {

9 //

10 // TODO: 鍦ㄦ澶勬坊鍔犳瀯閫犲嚱鏁伴昏緫

11 //

12 }

13

14 public string Insert()

15 {

16 return "ok";

17 }

18 }

19}

20

AssemblyInfo.cs浠g爜锛

//............鍏朵粬鐨勫氨鐢ㄩ粯璁

[assembly: AssemblyKeyFile("c:\\test.snk")] // 杩炴帴涓婇潰鐢ㄥ己鍛藉悕宸ュ叿SN.exe鐢熸垚鐨勬枃浠.

鎺ョ潃鍒涘缓涓猈indowApplication鏉ヨ皟鐢ㄦ垜浠殑ClassLibrary1锛屼唬鐮侊細

private void button1_Click(object sender, System.EventArgs e)

{

MessageBox.Show(new ClassLibrary1.Class1().Insert());

}涓嶄慨鏀筗indowApplication鐨凙ssemblyInfo.cs銆

鍦ㄨ繖閲屽氨鍙互鐩存帴杩愯浜嗭紝涓嶈繃澶у閮界湅鐨勫嚭鏉ワ紝杩欐牱鏄兘鎴愬姛璋冪敤Class1涓殑鏂规硶鐨勩

鐜板湪璁╂垜浠潵淇敼涓婥lass1.cs锛屼唬鐮侊細

using System;

using System.Security.Permissions;

namespace ClassLibrary1

{

[StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey =

"00240000048000009400000006020000002400005253413100040000010001000551684edd1600"+

"8ccbdd337b1cf1490490d97fe0048c5f3629cc4f5104578499eace9b2a94115022edd620def472"+

"8b4f088291cfa77a40659afba611fdafbb7894b93a64049d439936bd0cd8dc0704625aeb735892"+

"e9eb3f910a49a2925af10515d935654d7adac5567ff6d780d23d587de0ff4d271da7b30680fa88"+

"a47a4ba4")]

public class Class1

{

public Class1()

{

//

// TODO: 鍦ㄦ澶勬坊鍔犳瀯閫犲嚱鏁伴昏緫

//

}

public string Insert()

{

return "ok";

}

}

}

鐒跺悗鍐嶇紪璇戝悗杩愯windowapplication璋冪敤class1涓殑鏂规硶灏变細鍑洪敊銆

杩欓噷鐨凷trongNameIdentityPermissionAttribute鏄疦ET鎻愪緵鐨凜AS(Code Access Security)涓殑1涓被锛屽叿浣撳彲鍙傝僊SDN锛孲ecurityAction.LinkDemand 鏄姹傜洿鎺ヨ皟鐢ㄦ柟宸茶鎺堜簣浜嗘寚瀹氱殑鏉冮檺锛岃繖閲屽嵆windowapplication瑕佹巿浜堜簡鏉冮檺鎵嶈锛屽鏋滀娇鐢⊿ecurityAction.Demand瑕佹眰璋冪敤鍫嗘爤涓殑鎵鏈夐珮绾ц皟鐢ㄦ柟閮藉凡琚巿浜堜簡褰撳墠鏉冮檺瀵硅薄鎵鎸囧畾鐨勬潈闄愩備粬浠殑鍖哄埆鏄細濡傛灉windowapplication宸叉巿鏉冭闂紝鑰岃繕鏈変釜windowapplication2(鏈巿鏉冭闂)閫氳繃璋冪敤windowapplication涓殑button1_Click鏂规硶鏉ヨ皟鐢╟lass1锛岃繖涓椂鍊欏鏋滀娇鐢⊿ecurityAction.LinkDemand灏辫兘鎴愬姛璋冪敤锛岃屼娇鐢⊿ecurityAction.Demand windowapplication2灏变笉鑳借皟鐢紝windowapplication 鍦ㄨ繖2绉嶆儏鍐典笅閮借兘璋冪敤銆

璇村埌杩欓噷澶у涓瀹氬啀闂甈ublicKey锛濆悗闈竴涓查偅涔堥暱鐨勫瓧绗︿覆鎬庝箞鏉ャ侾ublicKey鍚庨潰鐨勫瓧绗︿覆鏄綘寮濮嬬敓鎴愮殑c:\test.snk鏂囦欢涓繚瀛樼殑鍏挜銆傞偅鎬庝箞鎵嶈兘鐪嬪埌杩欎釜鍏挜浜嗭紝鐓ф牱鏄敤SN.EXE銆

杈撳叆sn -p c:\test.snk c:\publicKey.snk (浠 test.snk 涓彁鍙栧叕閽ュ苟灏嗗叾瀛樺偍鍦 publicKey.snk 涓)

鍐嶈緭鍏n -tp c:\publicKey.snk (鏄剧ず鍏挜淇℃伅)

涓婇潰杩欎釜鍛戒护灏辫兘鐪嬪埌PublicKey鍚庨潰鐨勫瓧绗︿覆浜嗭紝杩樻兂浠涔堝晩锛屾妸閭e瓧绗︿覆copy涓嬫潵鍟娿

鏈鍚庡ぇ瀹朵竴瀹氬湪鍏冲績杩欎釜鏃跺檞indowapplication 瑕佹庝箞璋冪敤class1浜嗭紝鍏跺疄涔熺畝鍗曪紝鍙鎶妛indowapplication 鐨凙ssemblyInfo.cs淇敼涓猴細

[assembly: AssemblyKeyFile("c:\\test.snk")]

鍒拌繖閲屽氨涓鍒嘜K浜嗭紝澶у閮界湅鍒版渶鍏抽敭鐨勫氨鏄痶est.snk鏂囦欢浜嗭紝鎵浠ヤ竴瀹氳淇濇姢濂戒綘鑷繁鐨則est.snk鏂囦欢銆

涓嬮潰鏄垜鐨勪唬鐮侊紝澶у鍙互涓嬭浇鐪嬬湅锛屽湪浣跨敤鐨勬椂鍊欒鐨勮鎶婃垜KEY鏂囦欢澶逛笅鐨則est.snk copy鍒癱鐩樸

涓嶇劧浼氬嚭閿橿_^銆

http://www.cnblogs.com/Files/BearsTaR/Solution1.rar

鎵撳嵃 | 鏀惰棌姝ら〉 |  鎺ㄨ崘缁欏ソ鍙 | 涓炬姤
涓婁竴绡 涓嬩竴绡
 

璇勫垎锛0

鍙戣〃璇勮
鏌ョ湅鍏ㄩ儴鍥炲銆愬凡鏈0浣嶇綉鍙嬪彂琛ㄤ簡鐪嬫硶銆