Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何为PowerShell配置InternalsVisibleTo?_C#_.net_Powershell_Roslyn - Fatal编程技术网

C# 如何为PowerShell配置InternalsVisibleTo?

C# 如何为PowerShell配置InternalsVisibleTo?,c#,.net,powershell,roslyn,C#,.net,Powershell,Roslyn,我正在维护一个内部图书馆。许多类/方法被指定为内部访问,以避免滥用 但我还想在PowerShell中使用这些程序集。但内部访问只允许显式标记为InternalsVisibleTo的程序集。所以我想知道PowerShell场景需要添加哪些程序集 或者有任何Roslyn技巧可以帮助我的场景吗?使用一个附属程序集来公开这些内部构件(通过将它们包装在公共类型/方法中),授予InternalsVisibleTo,并在PowerShell模块中部署附属程序集,以便只有PowerShell可以访问。作为奖励,

我正在维护一个内部图书馆。许多类/方法被指定为内部访问,以避免滥用

但我还想在PowerShell中使用这些程序集。但内部访问只允许显式标记为InternalsVisibleTo的程序集。所以我想知道PowerShell场景需要添加哪些程序集


或者有任何Roslyn技巧可以帮助我的场景吗?

使用一个附属程序集来公开这些内部构件(通过将它们包装在公共类型/方法中),授予
InternalsVisibleTo
,并在PowerShell模块中部署附属程序集,以便只有PowerShell可以访问。作为奖励,您现在有了一个经过适当审查的API,可以对其进行版本转换。另一种选择是找出PowerShell用来授予这些访问权限的“程序集”,但这非常脆弱——它在PowerShell的各个版本中都不稳定,而且作为“额外”的一点,您根本无法控制要公开的内容。@jeroen有两种类型/方法。手动包装它们是一项巨大的工作。请使用公开这些内部构件的附属程序集(通过将它们包装在公共类型/方法中),授予
InternalsVisibleTo
,并将附属程序集部署在PowerShell模块中,以便只有PowerShell具有访问权限。作为奖励,您现在有了一个经过适当审查的API,可以对其进行版本转换。另一种选择是找出PowerShell用来授予这些访问权限的“程序集”,但这非常脆弱——它在PowerShell的各个版本中都不稳定,而且作为“额外”的一点,您根本无法控制要公开的内容。@jeroen有两种类型/方法。手动包装它们是一项巨大的工作。