在.NET 1.0/1.1~3.5 的CAS (Code Access Security) 的程式碼存取安全性強的功能相信有使用過的人都印象深刻,不過到了.NET 4.0後在CAS有很大的改變,原先的CAS的UI工具到了.NET 4.0也不復存在
在.NET 1.0/1.1~3.5 的CAS (Code Access Security) 的程式碼存取安全性強的功能相信有使用過的人都印象深刻,不過到了.NET 4.0後在CAS有很大的改變,原先的CAS的UI工具到了.NET 4.0也不復存在
原先筆者所使用的AppDomain裡的Load() 方法也會被判定為已過時:
由於筆者有傳入與這個定義域相關的程式碼安全性原則 Evidence 物件,若您還是強制要執行的話,會得到如下錯誤訊息:
除非您使用其它不會使用到Evidence 物件的Overloading 方法,
要不然就是有兩種方式:
1.改以4.0方式取代過時的呼叫,
2.使用舊版CAS原則(在Configuration使用NetFx40_LegacySecurityPolicy設定)
若暫時不想修改程式可以使用第二種方法,在App.config增加一個<runtime>項目,並將enabled屬性設定為True,表是使用舊版的CAS程式碼安全性原則。
1: <?xml version="1.0" encoding="utf-8" ?>
2: <configuration>
3: <runtime>
4: <NetFx40_LegacySecurityPolicy enabled="true"/>
5: </runtime>
6: </configuration>
對於舊版CAS有興趣可以參考黃忠成老師的文章(個人覺得解釋的非常的詳盡):
http://www.dotblogs.com.tw/code6421/archive/2008/05/07/3833.aspx
參考資料:
http://msdn.microsoft.com/zh-tw/library/ee191568.aspx
http://msdn.microsoft.com/zh-tw/library/dd409253.aspx
簽名:
學習是一趟奇妙的旅程
這當中,有辛苦、有心酸、也有成果。有時也會有瓶頸。要能夠繼續勇往直前就必須保有一顆最熱誠的心。
軟體開發之路(FB 社團):https://www.facebook.com/groups/361804473860062/
Gelis 程式設計訓練營(粉絲團):https://www.facebook.com/gelis.dev.learning/
如果文章對您有用,幫我點一下讚,或是點一下『我要推薦』,這會讓我更有動力的為各位讀者撰寫下一篇文章。
非常謝謝各位的支持與愛護,小弟在此位各位說聲謝謝!!! ^_^