首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在项目级别上设置System.Security透明度

如何在项目级别上设置System.Security透明度
EN

Stack Overflow用户
提问于 2020-01-07 00:06:43
回答 1查看 99关注 0票数 0

是否有办法设置/调整程序集安全级别(透明、关键等.)在一个项目上?根据这篇MS文章,我们可以通过在名称空间的顶部添加这样的一行来定义它们:

代码语言:javascript
复制
using System.SomeOtherNameSpace;

[assembly: System.Security.SecurityTransparent]
namespace MyProject.MyTransparentNameSpace
{
   //whole bunch of classes and enums
}

但是,有什么设置可以将这个属性添加到我的项目中,而不是在代码中定义这个属性呢?

--有点背景

我有一个MS.Net FrameWork 4.7.2项目(让我们称之为项目高级项目),它引用了.Net标准2.0项目(让我们称之为项目低级别),而在项目低级中,有一些公共名称空间、类和枚举在整个_.Net_.Net项目中使用。

我在高级项目中的一行中获得了MethodAccessException,该项目引用了来自低级别(.NetStandard)项目的枚举。我的所有方法、类和接口都是公共的,即使通过监视查看值也很好,但是,我一直得到Method HighLevel.XXX cannot access method LowLevel.get_enum()异常。我尝试了很多事情,并在一天结束时,使用[assembly: ....]解决了这个问题。

EN

回答 1

Stack Overflow用户

发布于 2020-01-07 00:48:57

我们可以通过在名称空间的顶部添加这样的一行来定义它们

该属性位于程序集(项目)上。该属性的前缀是assembly:,而不是namespace:。它在那里的位置是巧合的,可以移到其他地方(只要它在名称空间之外)。您可以将其移动到项目的AssemblyInfo.cs文件中,该文件位于项目的AssemblyVersion属性旁边。它应该在你的projects Properties文件夹中(但不是必须的)。

请参阅:AssemblyInfo.cs是用来干什么的?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59620551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档