命名空间“System.Security.Cryptography”中不存在类型或命名空间名称“Xml”
The type or namespace name `Xml' does not exist in the namespace `System.Security.Cryptography'
我必须阅读带有
的签名 xml
Using System.Security;
System.Security.Cryptography.Xml.SignedXml signedXml = new System.Security.Cryptography.Xml.SignedXml(lic);
首先Unity/VS投诉
VS > Error 11 The type or namespace name Xml' does not exist in
the namespace
System.Security.Cryptography'. Are you missing an
assembly reference?
所以我在Visual Studio中添加了对System.Security的引用(C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Security.dll )...但是 Unity 一直抱怨
error CS0234: The type or namespace name Xml' does not exist in the
namespace
System.Security.Cryptography'. Are you missing an assembly
reference?
然后我尝试直接复制资产文件夹中的'System.Security.dll'...但仍然是相同的消息!
请问我做错了什么?必须做什么?
非常感谢!
大多数 System.Security.Cryptography
命名空间被排除在统一的默认 .Net 2.0 Subset
API 之外。很可能 .Xml
也被剥离了。所以执行以下操作之一:
- 在 Unity 中点击 Ctrl/Cmd + Shift + B 打开构建菜单,点击
player settings
。在检查器中找到默认设置为 .Net 2.0 Subset
的 API Compatability Level
。将其更改为 .Net 2.0
,其中包括先前剥离的其余部分 classes/namespaces.
- 如果错误仍然存在,请确保您复制到 Unity 中的 .dll 来自 .net 2.0 框架。 Unity 无法导入针对高于 .net 2.0
的框架的库
这是从统一的Subset
API中排除的:
https://docs.unity3d.com/412/Documentation/ScriptReference/MonoCompatibility.html
抱歉,我找不到该文档的当前版本
编辑:
如@user2737085 所建议的那样 - 您还必须将 mcs.rsp
文件添加到 Assets
文件夹中。 mcs.rsp
应该是包含以下行的文本文件:
-r:System.Security.dll
我必须阅读带有
的签名 xmlUsing System.Security;
System.Security.Cryptography.Xml.SignedXml signedXml = new System.Security.Cryptography.Xml.SignedXml(lic);
首先Unity/VS投诉
VS > Error 11 The type or namespace name
Xml' does not exist in the namespace
System.Security.Cryptography'. Are you missing an assembly reference?
所以我在Visual Studio中添加了对System.Security的引用(C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Security.dll )...但是 Unity 一直抱怨
error CS0234: The type or namespace name
Xml' does not exist in the namespace
System.Security.Cryptography'. Are you missing an assembly reference?
然后我尝试直接复制资产文件夹中的'System.Security.dll'...但仍然是相同的消息!
请问我做错了什么?必须做什么? 非常感谢!
大多数 System.Security.Cryptography
命名空间被排除在统一的默认 .Net 2.0 Subset
API 之外。很可能 .Xml
也被剥离了。所以执行以下操作之一:
- 在 Unity 中点击 Ctrl/Cmd + Shift + B 打开构建菜单,点击
player settings
。在检查器中找到默认设置为.Net 2.0 Subset
的API Compatability Level
。将其更改为.Net 2.0
,其中包括先前剥离的其余部分 classes/namespaces. - 如果错误仍然存在,请确保您复制到 Unity 中的 .dll 来自 .net 2.0 框架。 Unity 无法导入针对高于 .net 2.0 的框架的库
这是从统一的Subset
API中排除的:
https://docs.unity3d.com/412/Documentation/ScriptReference/MonoCompatibility.html
抱歉,我找不到该文档的当前版本
编辑:
如@user2737085 所建议的那样 - 您还必须将 mcs.rsp
文件添加到 Assets
文件夹中。 mcs.rsp
应该是包含以下行的文本文件:
-r:System.Security.dll