在哪里放置InternalsVisibleTo

2023-12-27

与这个问题相关的是,AssemblyInfo 的生成是如何工作的?

我一直把InternalsVisibleTo在程序集第一类的文件中,我意识到它会很有用。将 AssemblyInfo 与其他程序集属性放在一起似乎更合适,但我不希望它被无意中覆盖。

那么,它应该去哪里呢?


现在是 2022 年,随着SDK风格的项目,另一种选择是将InternalsVisibleTo属性是项目文件。将以下行添加到您的*.csproj file:

<ItemGroup>
  <InternalsVisibleTo Include="ProjectName.Tests" />
</ItemGroup>

另一种有用的情况是使用参数化项目名称,如下所示:

<ItemGroup>
    <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
      <_Parameter1>$(MSBuildProjectName).Tests</_Parameter1>
    </AssemblyAttribute>
</ItemGroup>

不确定,但我假设您可以在 .NET 5+ 中使用此功能。

最后,我同意@Tim Lloyd 的观点。推杆InternalsVisibleTo属性位于中心位置(在AssemblyInfo.cs程序集中的文件或项目文件)提高了可发现性,最终这是一个程序集级属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在哪里放置InternalsVisibleTo 的相关文章

  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 可空属性与可空局部变量

    我对以下行为感到困惑Nullable types class TestClass public int value 0 TestClass test new TestClass Now Nullable GetUnderlyingType
  • 检查 url 是否指向文件或页面

    我们需要以下内容 如果文件确实是文件 则从 URL 下载该文件 否则 如果它是一个页面 则什么也不做 举个简单的例子 我有以下命令来下载文件 My Computer Network DownloadFile http www wired c
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co

随机推荐

  • 使用客户端证书 sslv3 握手失败的 Boost asio GET

    我想做一个简单的 C web get 类似于这个curl命令所做的事情 我可以使用 boost 中的 asio 我必须使用boost 1 49 curl https mysite dev api v1 search q test https
  • NSOutlineView 不折叠项目

    我有一个 NSOutlineView 单击一行将展开 折叠该项目 如果它是可展开的 if self outlineView isItemExpanded item NSLog Will collapse item item self out
  • 模态打开时如何发送参数json数组?

    演示和完整代码是这样的 https jsfiddle net xzxrp7nn 5 https jsfiddle net xzxrp7nn 5 我的 HTML 代码是这样的 div div div class modal fade div
  • 为什么 Bootstrap 网格布局比 HTML 表格更可取?

    注意 对于那些可能将此问题与 为什么不使用表格进行 HTML 布局 混淆的人 我不是在问这个问题 我要问的问题是为什么网格布局与表格布局根本不同 我正在为一个项目研究 CSS 库 特别是 Bootstrap 我是一名程序员而不是网页设计师
  • 角度 ui 路由器中的 404 页面

    我在有角度的单页应用程序中使用 ui router 我定义了一些路由 并且有一个特定的 404 路由 如下所示 app config function urlRouterProvider stateProvider urlProvider
  • DLL 地狱 - 无法加载文件或程序集 System.Threading.Tasks.Extensions

    我有一个非常简单的 NET Framework 4 7 2 应用程序 其中包含以下内容
  • RabbitMQ 的 Spring SimpleMessageListenerContainer 因无效消息而中止

    我正在使用 springs SimpleMessageListenerContainer 来消费来自 RabbitMQ 队列的消息 一切工作正常 但是当无效消息发送到队列 例如无效 json 时 侦听器就会中止 关闭工作线程并且不接受任何进
  • 如何在 python 中将整数添加到字符串 - Oanda API

    我正在尝试使用 Oanda 的 REST API 添加止损订单和买入订单 截至目前 我可以轻松指定止损价格 但是 我想根据当前价格计算止损 例如 current price 1 我对 Python 不太熟悉 因此这是一个简单的问题 但这让我
  • 有“vim运行日志”吗?

    有时我会在 vimrc 中尝试自定义 命令 一切似乎都是正确的 但就是行不通 很难知道 vim 启动时发生了什么 也很难知道哪个命令失败了 因此很难调试导致我的 vimrc 中出现问题的原因 这是一种试错方法 非常耗时 而且确实是一种 PI
  • 如何确定 Android OpenGL ES 上的最大纹理内存

    我正在 Android 上编写混合 2D 3D 游戏 但无法确定可以使用多少纹理内存 有没有办法确定 OpenGL ES 中的最大纹理内存 我有自己的纹理缓存 想知道纹理内存的最大阈值 我正在使用进行近似估计activityManager
  • IFrame调用父函数

    iframe 是否可以调用父级的函数 即使它们不在同一个域中 当它们不在同一域中时 我的实际方法会引发安全错误 在 iframe 内我会这样做 非常感谢 您不能直接调用该函数 由于同源政策 http en wikipedia org wik
  • 使用 SSPI 从 Windows 上运行的 Java 应用程序获取 SSO

    我有一个在 Windows 上运行的 Java 应用程序 需要使用 Kerberos SPNEGO 对 Web 应用程序进行身份验证 我知道如何配置 JAAS 来实现此目的 但我发现 Java JDK6 和 JDK7beta Kerbero
  • Windows xcopy 无法在 python 中运行

    当我在做的时候 xcopy D Accessories My File read me rtf D Any Folder Destn 复印效果很好 我在 python 2 7 中做同样的事情 import os source D Acces
  • 无法让 Coverity Scan 工作(Windows 和 Travis 上的 Java/Kotlin/Gradle 3.3)

    更新 请参阅 Caleb 的答案中的解决方案 我正在非常努力地让 Coverity 为我的构建工作 但到目前为止收效甚微 首先是细节 我的项目是普通的 java 库 没有 Web 或花哨的容器 只有很少的编译依赖项 使用 Gradle 构建
  • 字典有密钥长度限制吗?

    我想知道Python是否对字典键的长度有限制 为了澄清起见 我不是在谈论密钥的数量 而是每个密钥的长度 我将根据动态值 验证后 构建我的字典 但我不确定在这种情况下是否应该考虑长度 对于字典键没有这样的限制 由于 python 对数字类型也
  • Angularjs - 隐藏内容直到 DOM 加载

    我在 Angularjs 中遇到一个问题 在我的数据从服务器返回之前 我的 HTML 中出现闪烁 这是演示该问题的视频 http youtu be husTG3dMFOM http youtu be husTG3dMFOM 注意 和右侧的灰
  • NotificationCompat 无法解析为类型

    我是 Android 新手 收到错误消息 NotificationCompat 无法解析为类型 MinSDK 9 TargetSDK 18 到目前为止 所有消息来源对于如何解决这个问题都非常模糊 只是简单地注明 更新 JAR 文件 我需要什
  • 排序数据透视表(多索引)

    在数据透视表上放置两个 行标签 Excel 术语 后 我尝试按降序对数据透视表的值进行排序 样本数据 x pd DataFrame col1 a a b c c a b c a b c col2 1 1 1 1 1 2 2 2 3 3 3
  • 使用 UIImagePicker 一次后出现内存警告

    我提到了这个非常好的参考 https stackoverflow com questions 1282830 uiimagepickercontroller uiimage memory and more https stackoverfl
  • 在哪里放置InternalsVisibleTo

    与这个问题相关的是 AssemblyInfo 的生成是如何工作的 我一直把InternalsVisibleTo在程序集第一类的文件中 我意识到它会很有用 将 AssemblyInfo 与其他程序集属性放在一起似乎更合适 但我不希望它被无意中