问题标签 [internalsvisibleto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
406 浏览

java - 如何在加载 SmartImageView 之前显示布局的进度条

加载spinner.setVisibility(View.GONE);后如何触发?SmartImageView

0 投票
1 回答
2885 浏览

c# - 使特定的内部功能对另一个组件可见(即并非所有内部都可见)

可以[assembly: InternalsVisibleTo("NameOfOtherAssembly")]在 AssemblyInfo.cs 中指定。

但是是否可以将其限制为特定的内部功能?

是否有可以应用于每个功能的属性?

如果没有,还有其他方法可以做到这一点吗?

0 投票
1 回答
186 浏览

c# - 从由多个程序集组成的库中公开类时,最佳实践是什么?

我正在创建一个应该由不同应用程序使用的库。这些应用程序不应该看到库的实现细节,而只是呈现一个可用的界面。

为了获得清晰的项目结构,我在我的解决方案中创建了几个项目。一些项目只包含不应该对外界可见的代码,因为它应该只在内部使用。但是,需要跨项目边界访问此代码。

为了解决这个问题,我创建了几个内部类和方法,然后在我的 AssemblyInfo.cs 中用 InternalsVisibleTo 属性标记了它们的程序集。这按预期工作。

但是,我想知道这是否真的是一个好习惯。毕竟,我正在规避可能会混淆其他开发人员的内部访问修饰符。

我唯一的另一个选择是只创建一个项目,该项目必须包含所有标记为内部的内部代码。但是,我不喜欢这个解决方案,因为这意味着我不再清楚地了解我的代码中的依赖关系。

在这种情况下,最佳做法是什么?

0 投票
1 回答
837 浏览

linqpad - LinqPad 访问已签名程序集的内部

是否有我可以使用的签名版本的 LinqPad 来访问签名程序集的内部?

0 投票
0 回答
144 浏览

c# - InternalVisibleTo 和动态语言运行时不能很好地协同工作吗?

我在通用 Windows exe 项目中有以下类(不包括实际功能)。

该程序集包含该InternalsVisibleTo属性,因此我可以对内部类进行单元测试:

单元测试项目(通用 Windows 单元测试项目)编译得很好。dynamic然而,下面的测试在将对象传递给构造函数时会抛出异常DataPage。除非传递的实例是 type ,否则它不会object

抛出的异常是:'PictureFrame.Model.DataPage.DataPage(object)' is inaccessible due to its protection level.

如果内部类与动态对象交互,我当然可以将它们标记为公共,但这是预期的工作吗?这是我第一次使用这种行为InternalsVisibleTodynamic对此我感到有些惊讶,但从 DLR 的角度来看,这可能是一个边缘案例。

(在现实生活中,动态对象是ExpandoObject从 json 反序列化的。)

0 投票
3 回答
3217 浏览

c# - 我如何在 asp.net 5 中访问内部结构

在 asp.net 5 之前,我会将“internalsVisibleTo(some.namespace.name)”添加到 AssemblyInfo.cs - 但我的 WebApi 项目中不再有 assemblyInfo.cs。

如何将 WebAPI 项目中的内部结构暴露给我的 unitTest 项目?

0 投票
1 回答
285 浏览

c# - 受信任的 pfx 证书不适用于 InternalsVisibleTo 属性

我从 Comodo CA 获得了一个受信任的证书,并且很难让它与 InternalsVisibleTo 属性一起使用。我收到警告说程序集无效且无法解决。我使用 X509Certificate.GetPublicKeyString() 检索了公钥并将其放入 assemblyinfo。

到目前为止,我们使用了一个不受信任的证书,它可以正常工作。我注意到受信任证书 (.pfx) 的 PublicKey 长度为 540 个字符,而我们的不受信任 (.snk) 仅 320 个字符。

我的错误在哪里?

此外,我不能使用 projectsettings 来选择我的 .pfx 来签名。后期构建工作。使用 projectsettings 时,它告诉我它找不到证书和私钥。

0 投票
0 回答
314 浏览

c# - 是否可以使用匿名类型和 InternalsVisibleTo?

我正在构建一个Xamarin.Forms应用程序。我有两个库:

  • MyProj.ViewModels
  • MyProj.DataAccess

我的DataAccess库正在访问我的Sqlite数据库并返回一个dynamic对象,如下所示:

然后我想在我的ViewModels库中访问这个动态对象的属性,但由于dynamic对象是internal我得到一个异常说:

对象不包含“x”的定义

我想过添加InternalsVisibleTo属性:

但这似乎不起作用。是否可以使用anonymous / dynamic类型和InternalsVisibleTo属性来访问dynamic与创建对象不同的库中的对象?

但这似乎不起作用。

PS。

我还使用它检查了我的程序集是否是强命名程序集,并且我可以确认它不是强命名程序集。

我还检查了 anInternal TestClass对我的库是可见的MyProj.ViewModels,所以我可以确认该InternalsVisibleTo属性有效,它只是不起作用,这dynamic可能是一个可移植类库错误吗?

0 投票
2 回答
1218 浏览

c# - 从 .csproj 文件生成 AssemblyInfo 时如何定义多个朋友程序集?

我想定义几个朋友程序集。AssemblyInfo手动编辑文件时很容易做到这一点:

或者

但是,我的AssemblyInfo文件是由文件中的MSBuild任务.csproj生成的。在这种情况下,我可以添加一个InternalsVisibleTo属性,但不能添加多个。

如何在我的.csproj文件中定义多个朋友程序集?

0 投票
3 回答
780 浏览

wpf - 带有内部设置器的 WPF 双向绑定

我在 CLR 属性上使用 WPF 的双向绑定,该属性实现了 INotifyPropertyChanged。的setfor 属性是internal,而getpublic

不幸的是,我收到以下错误:

System.Windows.Markup.XamlParseException 未处理消息:PresentationFramework.dll 中发生“System.Windows.Markup.XamlParseException”类型的未处理异常附加信息:TwoWay 或 OneWayToSource 绑定无法在只读属性“名称”上工作输入“我的类型”。

这是预期的行为吗?我原以为内部设置器应该可以正常工作...请注意,CLR 类型是在另一个程序集中定义的,并且在当前程序集中可见,具有[assembly: InternalsVisibleTo("MyAssembly")] 属性。

有没有人有解决方法/建议?声明程序集是一个类库,因此我不能将其更改setpublic.