Visual Studio 2022 for Mac 上的 PostSharp.targets 中出错

An Error Occurred in PostSharp.targets on Visual Studio 2022 For Mac

提问人:Nurşen 提问时间:10/29/2022 更新时间:10/29/2022 访问量:150

问:

我正在 VS for Mac 2022 中开发一个 .Net 6/AspNet Core 项目,该项目包括各个方面,第一个是 FluentValidationAspect。当我对这方面进行单元测试时,我得到了两个错误,它们是:

/Users/user/.nuget/packages/postsharp/6.10.15/build/PostSharp.targets(5,5):错误:无法初始化 CoreCLR,HRESULT:0x80004005 (DevFramework.Core) /Users/user/.nuget/packages/postsharp/6.10.15/build/PostSharp.targets(5,5):错误:进程“dotnet”失败,退出代码为 137。(开发框架核心)

`

using System;
using DevFramework.Core.CrossCuttingConcerns.Validation.FluentValidation;
using FluentValidation;
using FluentValidation.AspNetCore;
using PostSharp.Aspects;
using PostSharp.Serialization;

namespace DevFramework.Core.Aspects.PostSharp
{
    [PSerializable]
    public class FluentValidationAspect: OnMethodBoundaryAspect
    {
        Type _validatorType;
        public FluentValidationAspect(Type validatorType)
        {
            _validatorType = validatorType;
        }

        public override void OnEntry(MethodExecutionArgs args)
        {
            var validator = (IValidator)Activator.CreateInstance(_validatorType);
            var entityType = _validatorType.BaseType.GetGenericArguments()[0];

            var entities = args.Arguments.Where(t => t.GetType() == entityType);

            foreach(var entity in entities)
            {
                ValidatorTool.FluentValidate(validator, entity);
            }
        }
    }
}

`

`

using System;
using FluentValidation;

namespace DevFramework.Core.CrossCuttingConcerns.Validation.FluentValidation
{
    public class ValidatorTool
    {
        public static void FluentValidate(IValidator validator, object entity)
        {
            //var result = validator.Validate(entity);

            var context = new ValidationContext<object>(entity);
            var result = validator.Validate(context);

            if (result.Errors.Count>0)
            {
                throw new ValidationException(result.Errors);
            }
        }
    }
}

`

`

using System;
using DevFramework.Core.Aspects.PostSharp;
using DevFramework.Northwind.Business.Abstract;
using DevFramework.Northwind.Business.ValidationRules.FluentValidation;
using DevFramework.Northwind.DataAccess.Abstract;
using DevFramework.Northwind.Entities.Concrete;

namespace DevFramework.Northwind.Business.Concrete.Managers
{
    public class ProductManager: IProductService
    {
        private IProductDal _productDal;
        public ProductManager(IProductDal productDal)
        {
            _productDal = productDal;
        }

        public Product Add(Product product)
        {
            return _productDal.Add(product);
        }

        public List<Product> GetAll()
        {
            return _productDal.GetList();
        }

        public Product GetById(int id)
        {
            return _productDal.Get(p => p.ProductId == id);
        }

        [FluentValidationAspect(typeof(ProductValidator))]
        public Product Update(Product product)
        {
            return _productDal.Update(product);
        }
    }
}

`

**在我在这里提问之前,我将这个问题发送给了 PostSharp 服务台。我找不到确切的解决方案。此外,我在 Macbook Air 2017 上有一个英特尔酷睿 i5 处理器。**

请帮帮我,提前致谢。

我尝试在 VS 2022 For Mac 的 .Net 6 项目上使用 PostSharp。 我本来想跑一个测试。 测试不起作用,我得到了 2 个错误。

C# macOS net-6.0 visual-studio-2022 后夏普

评论

0赞 Daniel Balas 11/4/2022
正在 PostSharp 支持站点上处理:support.postsharp.net/request/...

答: 暂无答案