问题很简单。我将WebApps项目移动到安装了Microsoft.SqlServer.Types nuget包的Service Fabric。现在,当尝试访问数据库时,我收到以下错误,因为我正在使用空间类型。
“此提供程序无法使用空间类型和函数,因为无法找到程序集”Microsoft.SqlServer.Types“版本10或更高版本。”
我尝试将以下代码行添加到FabricRuntime创建实例的类中,但这没用。
jQuery("#detailsSpace").empty(); // Before while
while ([...]){
[...]
jQuery("#detailSpace").append(thisCompanyMarkupBlock); // Instead of html()
}
如果您需要我提供更多信息,请与我们联系。
答案 0 :(得分:1)
您确实需要代码行,但对于asp.net应用程序,它应该略有不同: 对于Asp.net网站,Default.aspx.cs:
public partial class _Default : System.Web.UI.Page
{
static bool _isSqlTypesLoaded = false;
public _Default()
{
if (!_isSqlTypesLoaded)
{
SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~"));
_isSqlTypesLoaded = true;
}
}
}
对于Web应用程序,在Global.asax.cs中:
SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));
您还需要在web.config中创建以下绑定重定向:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Here是关于该主题的唯一讨论,它帮助了我。
更新: Here是一篇博文,通过3个步骤提供了详细描述的解决方案。虽然,第三步对我不起作用,我必须如上所述创建绑定。