2017-07-24 70 views
3

我在几个问题上看到过这个问题,当您在本地构建时,所有解决方案都可以正常工作。我目前在visualstudio.com上有我的代码,每当我从我的机器上推送代码时,我都会自动构建。在Visual Studio在线上找不到Microsoft.SqlServer.Types的版本10或更高版本

我知道你有安装NuGet包(我有),并从以下链接安装类型:

http://go.microsoft.com/fwlink/?LinkID=239644&clcid=0x409

的问题是,我不知道如何安装,从我的浏览器,因为它正在云端建设。

我错过了什么吗?

回答

0

我在微软的支持下解决了这个问题。

这是很简单其实,我已经添加下面的代码行到Context对象的构造函数:

SqlProviderServices.SqlServerTypesAssemblyName = "Microsoft.SqlServer.Types, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"; 

这来自一个计算器的答案,但我已经失去了联系。如果有人知道这是从哪里来的,请随时评论链接,或标记为重复。

0

Visual Studio Onlines TFS Build Server不允许你在其上安装任何东西。你必须用NuGet包来做。

将SQL CLR Types依赖项作为NuGet包添加到您的解决方案。

enter image description here

这种方式构建服务器将在构建之前恢复NuGet包:

enter image description here

如果不行尝试Microsoft.SqlServer.Types.Unoffical包。

如果我不认为你应该提出这个问题作为微软的支持案例。

+0

非官方的包没有任何工作。我已经提交了微软的门票,谢谢 – RandomStranger

0

我发现这是内部部署TFS和VSTS的问题。

一般来说,像这样在VS:

Folder tree of visual studio

即使它在本地创建的bin目录中的文件夹它不会在构建服务器。

要做的第一件事是确保.dll文件被设置为内容并包含在源代码管理中(它们通常被默认排除)。这应该意味着他们把它放到输出目录中。由于32位和64位dll具有相同的名称,因此无法依赖哪个版本将其转换为实际的bin文件夹,因此必须保持相同的文件夹结构。

一旦检查了构建输出目录,就可以用正确的相对路径调用SqlServerTypes.Utilities.LoadNativeAssemblies()

在一个实例中,我在一个不是已发布项目(一个数据访问项目)的项目中引用它们,唯一能让它工作的方式是将NuGet包添加到顶级已发布的Web项目中。

0

我发现在网络上并没有为我工作了所有的窍门后,我希望做的文件,它为我工作的解决方案:我安装了NuGet包和创建以下重定向应用程序/网络

。配置:

<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>  

我发现neccessary的相关信息在这里: https://github.com/aspnet/EntityFramework6/issues/244

相关问题