对程序集类进行签名并使用InternalsVisibleTo(“FriendAssembly,PublicKey=“)特性将内部内容公开给友元程序集后,我收到”Set访问器无法访问“错误。该属性为:
public datatype PropertyName { get; internal set; }
我不想更改Set访问器的访问修饰符。
bvuwiixz1#
[assembly:InternalsVisibleTo...)]属性(Attribute)必须位于包含您要公开之内部属性(Property)的组件中。如果您的组件是强式名称签署,则friend组件也必须是强式名称签署,而且您必须用途:[assembly:InternalsVisibleTo("FriendAssembly, PublicKey=...)]其中PublicKey部分是友元程序集的强名称密钥文件中的完整公钥。如果您的组件未签署,请用途:[assembly:InternalsVisibleTo("FriendAssembly")]
[assembly:InternalsVisibleTo...)]
[assembly:InternalsVisibleTo("FriendAssembly, PublicKey=...)]
[assembly:InternalsVisibleTo("FriendAssembly")]
1条答案
按热度按时间bvuwiixz1#
[assembly:InternalsVisibleTo...)]
属性(Attribute)必须位于包含您要公开之内部属性(Property)的组件中。如果您的组件是强式名称签署,则friend组件也必须是强式名称签署,而且您必须用途:
[assembly:InternalsVisibleTo("FriendAssembly, PublicKey=...)]
其中PublicKey部分是友元程序集的强名称密钥文件中的完整公钥。
如果您的组件未签署,请用途:
[assembly:InternalsVisibleTo("FriendAssembly")]