下载Castle.Core并添加[AllowPatiallyTrustedCallers]

时间:2009-12-31 17:43:31

标签: .net nant castle

我想在中等信任下运行Castle.Core,我知道如何在理论上做到这一点。

  1. 将[AllowPatiallyTrustedCallers]添加到Assembly.cs
  2. 禁用跟踪记录器 - (因为它使用反射)
  3. 第一个问题,没有Assembly.cs,所以显然你可以使用nant来构建命令行,如:

    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.
    

    如何设置或解决问题? 这个城堡的核心.Core是https://svn.castleproject.org/svn/castle/Core/trunk所以欢迎你在回答之前检查一下,如果你想要的话

2 个答案:

答案 0 :(得分:1)

我认为你的方法是错误的 - 你不需要添加[AllowPatiallyTrustedCallers]来运行中等信任。如果你要去装配GAC,你只需要APTCA,在这种情况下你不需要远程跟踪记录器,因为GACed程序集完全信任并且反射会起作用。

答案 1 :(得分:1)

[UPDATE]

好的,我的坏。我不是中等信任问题的专家,but the way I understand it,毕竟你需要有关城堡集会的APTCA。

所以这就是我所做的:

我从:https://svn.castleproject.org/svn/castle/Core/trunk取出Castle Core 下载了最新的每晚NAnt版本并使用nant build -D:assembly.allow-partially-trusted-callers=true

构建它

然后,我从https://svn.castleproject.org/svn/castle/DynamicProxy/trunk

下载了动态代理

将我在上一步中构建的Core程序集复制到lib / net-35,然后使用相同的Nant命令构建DP。

然后我创建了一个信任级别设置为“中”的ASP.NET网站,并在其中生成了几个代理,并且它有效。

如果出于某种原因对您不起作用,或者您有任何其他问题/建议请告诉我。