首页 > 解决方案 > 无法跨项目访问自定义属性

问题描述

我在解决方案中有两个不同的项目,并且在基础项目(P1)中有以下属性。当我在 (P1) 中的任何方法中使用 [INIT] 属性时,它工作正常,即在任何方法执行之前,它将在退出之前运行 OnEntry() 和 OnExit(),但是当我应用它时它不起作用在项目中的方法中 (P2)

[AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Assembly | AttributeTargets.Module)]
public class INIT : Attribute, IMethodDecorator
{
    public void OnEntry()
    {
        //some code here
    }
    public void OnExit()
    {
       //some code here

    }
    public void OnException(Exception exception)
    {
        //some code here
    }
}

以下代码在项目(P2)内部,应用的 INIT 属性不起作用请帮助!注意:P2 引用了 P1

public class LoginToPCM_31463 
    {
        [INIT]
        public static void SmokeTest_LoginToPCMApplication_31463(RemoteWebDriver Driver)
        {
            try
            {
            }
            catch (Exception e)
            {
            }
        }
    }

谢谢你得到了解决方案——能够访问 (P2) 中的 INIT 属性解决方案:删除了 INIT 的命名空间并在 (P1) 项目中装饰为 [module: INIT] 并使用 (P2) 中的 [module: INIT]工作。

标签: c#.netasp.net-mvcasp.net-mvc-5

解决方案


推荐阅读