Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.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

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# WCF服务参考可移植类库内部_C#_.net_Wcf_Internal_Portable Class Library - Fatal编程技术网

C# WCF服务参考可移植类库内部

C# WCF服务参考可移植类库内部,c#,.net,wcf,internal,portable-class-library,C#,.net,Wcf,Internal,Portable Class Library,我已经向一个可移植类库添加了一个服务引用,我可以毫无障碍地使用它,但就我的一生而言,我无法理解为什么生成类的访问级别仅限于Public。这对我来说毫无意义,想要在可移植类库中包含服务引用的全部原因是将其功能包装到更友好的类中,这些类将WCF服务调用组合到更高级别的方法中,同时能够在多个平台之间共享包装器 我认为这可能是因为我在库中包含了一些平台,但在删除了must并只保留了Windows8和.NET4.5之后,我仍然无法更改访问级别 有什么解释吗 谢谢添加服务参考时,请单击“高级”按钮。生成的“

我已经向一个可移植类库添加了一个服务引用,我可以毫无障碍地使用它,但就我的一生而言,我无法理解为什么生成类的访问级别仅限于Public。这对我来说毫无意义,想要在可移植类库中包含服务引用的全部原因是将其功能包装到更友好的类中,这些类将WCF服务调用组合到更高级别的方法中,同时能够在多个平台之间共享包装器

我认为这可能是因为我在库中包含了一些平台,但在删除了must并只保留了Windows8和.NET4.5之后,我仍然无法更改访问级别

有什么解释吗


谢谢

添加服务参考时,请单击“高级”按钮。生成的“服务引用设置”对话框中的第一项使您能够为服务代理类生成公共成员或内部成员


我通过手动编辑($ProjectDir)/Service References/Reference.svcmap文件解决了这个问题。这真的很简单,应该早点想到。我可能最终会破坏一些东西(必须有理由禁用生成类的访问级别),但只要它现在起作用,就可以了

文件中有一个标记,必须设置为true:

true


我仍然想知道是否有人知道为什么在向可移植类库添加服务引用时,生成类的访问级别被强制为公共的。因此,如果有人可以透露一些信息,请这样做:)

我知道您可以这样做。我想说的是,允许您更改访问级别的下拉菜单被禁用。我应该说得更清楚,对不起。哦。。。对不起,你说得对,那还不完全清楚。我想知道您是否可以使用svcutil.exe来生成代理,并以这种方式设置访问级别。