C# 托管指针,不允许使用非托管指针

C# 托管指针,不允许使用非托管指针,c#,clr,.net-assembly,sqlclr,C#,Clr,.net Assembly,Sqlclr,有关权限集的定义,请参阅。blacai这方面运气好吗?我目前面临同样的问题,因为我无法测试提供的解决方案。如果你能确认它的工作,我将标记为answer@blacai我可以确认David Manning的回答是正确的:这只是使用不安全的权限集而不是安全的问题。可以肯定的是,我正在运行SQL Server 2012,从上面复制了您的创建程序集代码,运行了它,得到了错误,将SAFE更改为SAFE,再次运行,它就工作了。这是一个版本控制问题。使用everything.exe,我搜索了所有system.s

有关权限集的定义,请参阅。

blacai这方面运气好吗?我目前面临同样的问题,因为我无法测试提供的解决方案。如果你能确认它的工作,我将标记为answer@blacai我可以确认David Manning的回答是正确的:这只是使用
不安全的
权限集
而不是
安全的问题。可以肯定的是,我正在运行SQL Server 2012,从上面复制了您的创建程序集代码,运行了它,得到了错误,将
SAFE
更改为
SAFE
,再次运行,它就工作了。这是一个版本控制问题。使用everything.exe,我搜索了所有system.servicemodel.internals.dll,然后选择了与sql server clr版本匹配的dll,是的,它必须标记为不安全。
create assembly [system.servicemodel.internals]
from 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.ServiceModel.Internals.dll'
with permission_set = safe;
go
directory   C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
version v4.0.30319
state   CLR is initialized
  [found ref 'System.String'] Expected numeric type on the stack