代码之家  ›  专栏  ›  技术社区  ›  Dan

下载castle.core并添加[allowpatiallytrustedcallers]

  •  0
  • Dan  · 技术社区  · 15 年前

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

    1. 将[allowpatiallytrustedcallers]添加到assembly.cs
    2. 禁用跟踪记录器-(因为它使用反射)

    第一个问题是,没有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.
    

    如何设置或解决此问题? 这个城堡的高级副总裁。核心是 https://svn.castleproject.org/svn/castle/Core/trunk 所以欢迎您在回答之前查看

    2 回复  |  直到 15 年前
        1
  •  1
  •   Krzysztof Kozmic    15 年前

    [更新]

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

    我是这样做的:

    我把城堡核心从: 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网站,并在其中生成了几个代理,它工作了。

    如果出于某种原因,不适合你,或者你有任何其他问题/建议,请告诉我。

        2
  •  1
  •   blowdart    15 年前

    我认为你走错了方向-你不需要添加[allowpatiallytrustedcallers]来运行中等信任。如果要对程序集进行GAC,您只需要APTCA,在这种情况下,您不需要远程跟踪记录器,因为GACED程序集以完全信任的方式运行,并且反射可以工作。