C# SqlServerTypes.Utilities由于其保护级别而无法访问
根据C# SqlServerTypes.Utilities由于其保护级别而无法访问,c#,console-application,sqlgeography,.net-4.6.1,C#,Console Application,Sqlgeography,.net 4.6.1,根据SqlServerTypesREADME,我需要写这行: SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory) 在为桌面应用程序(我的是一个控制台应用程序)执行空间操作之前 但是,它在生成时输出一个错误: “实用程序”由于其保护级别而无法访问 我进入packages文件夹,找到了Loader.cs,而Utilities类实际上是内部的?这是怎么回事?我找不到有这个问题的其他人,
SqlServerTypes
README,我需要写这行:
SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory)代码>
在为桌面应用程序(我的是一个控制台应用程序)执行空间操作之前
但是,它在生成时输出一个错误:
“实用程序”由于其保护级别而无法访问
我进入packages文件夹,找到了Loader.cs
,而Utilities
类实际上是内部的?这是怎么回事?我找不到有这个问题的其他人,他们正在使用它,没有问题
如果将F12导入反编译的实用程序
中,它也会标记为内部
我正在使用版本11.0.2
将nuget软件包安装到MVC站点,并且域层为我解决了这个问题。首先,我只在我实际使用的域层安装了该软件包。我有完全相同的软件包。我使用了nuget包https://www.nuget.org/packages/Microsoft.SqlServer.Types/
并且拥有相同的东西。你找到解决办法了吗?将“内部”更改为“公共”并没有为我修复它。似乎一直在应用程序上崩溃\u Start
@JPHellemons我对它做了一些修改。软件包的问题仍然存在。由于DLL文件仍然复制到输出bin目录,而不是根目录中,因此我添加了一个部署后脚本,将DLL脚本从子目录复制到根bin目录。由于无法区分32位和64位的需求,因此您只能复制其中一个,这可能不适合您。我知道我会一直使用64位版本。我认为这样的事情可以肯定地证明,当涉及到SqlClr或任何Sql Server外围工具时,Microsoft没有人吃狗粮。这有一个使用SqlServerTypes.Utilities的解决方法,通过更改app.config(或web.config)中的程序集绑定。