2009-12-31 22 views
0

我想在中等信任下運行Castle.Core,並且我知道如何在理論上做到這一點。下載Castle.Core並添加[AllowPatiallyTrustedCallers]

  1. 添加[AllowPatiallyTrustedCallers]將Assembly.cs
  2. 禁用跟蹤記錄器 - (因爲它使用反射)

第一個問題,有沒有Assembly.cs,那麼顯然你可以使用惡性建立與命令行,如:

nant -D:assembly.allow-partially-trusted-callers=true

但是,返回一個錯誤

NAnt 0.84 (Build 0.84.1455.0; net-1.0.win32; release; 26/12/2003) 
Copyright (C) 2001-2003 Gerry Shaw 
http://nant.sourceforge.net 

Buildfile: file:///D:/Downloads/development - source/Castle Proxy/Core/src/Castl 
e.Core/default.build 
Target(s) specified: nant 

BUILD FAILED 

Property 'project::get-name()' has not been set. 

Total time: 0.1 seconds. 

如何設置或解決問題? 這個Castle.Core的svn是https://svn.castleproject.org/svn/castle/Core/trunk所以你的歡迎檢查出來之前,如果你想回答

回答

1

[UPDATE]

好的,我的壞。我不是一箇中等信任問題的專家,but the way I understand it,畢竟你需要APTCA在Castle組裝上。

因此,這裏是我所做的:

我從拉堡核心:https://svn.castleproject.org/svn/castle/Core/trunk南特的 下載最新的每日構建與nant build -D:assembly.allow-partially-trusted-callers=true

建造它,我然後下載動態代理來自:https://svn.castleproject.org/svn/castle/DynamicProxy/trunk

複製在上一步創建的核心程序集lib/net-35,然後使用相同的Nant命令構建DP。

然後,我創建了一個信任級別設置爲「中」的ASP.NET網站,並在其中生成了一對代理,並且它工作正常。

如果由於某種原因,不適合你,或者你有任何其他問題/建議讓我知道。

+1

感謝您的信息和鏈接。到克拉科夫時會給你買啤酒。我想它的DynamicProxy2導致問題然後。我只是在一個空的web項目上做了一個測試,我試圖在代碼隱藏中使用構建一個ProxyGenerator。它似乎是導致問題的ModuleScope。你知道有什麼問題嗎? – Dann 2010-01-01 19:02:14

+0

我已將此移至Castle用戶組。上傳了一張錯誤圖片 – Dann 2010-01-01 22:26:32

+0

魔法!只是建立,編譯和運行。 :)我現在非常高興! – Dann 2010-01-02 16:47:03

1

我認爲你會錯誤的方式 - 你不需要添加[AllowPatiallyTrustedCallers]到以中等信任度運行。如果您要進入GAC程序集,您只需要APTCA,在這種情況下,您不需要遠程跟蹤記錄器,因爲GACed程序集完全信任並且可以運行反射。

+0

似乎你在這裏可能是錯的。我不得不用APTCA來構建它。見Krzysztof的答案。 – Dann 2010-01-02 16:45:41

+0

這真的很奇怪。 APTCA不會發揮作用,除非你在跨信任級別談話。即使鏈接的MSDN文檔也說它是「共享託管庫」。 – blowdart 2010-01-02 16:57:39