SSIS 脚本组件在本地工作但在服务器上失败

问题描述 投票:0回答:1

我有一个相对简单的脚本组件,在开发中可以正常工作,但作为项目部署到目标 SQL Server 时却不能。

错误:System.IO.FileNotFoundException:无法加载文件或程序集“System.Memory,Version=4.0.1.1,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”或其依赖项之一。系统找不到指定的文件。

这里相对简单,读入资源,反序列化为 Json,然后填充缓冲区。同样,代码在本地运行良好,无需从服务器部署和运行。此外,工作本身在其他方面也运作良好。有什么想法吗?谢谢。

更新:使用gacutil添加了System.Memory,然后它抱怨System.Buffers.dll,所以我也添加了它,然后添加了System.Runtime.CompilerServices.Unsafe.dll,但它仍然抱怨那个,同样的错误dll 而不是 System.Memory.dll

public override void CreateNewOutputRows()
{
    var jsonResource = SC_230dc9a1d6584d51a25f503b07cf64c4.Properties.Resources.countriesV1;
    using (var jsonStream = new StreamReader(new MemoryStream(jsonResource, 0, jsonResource.Length)))
    {
        var countriesV1 = JsonSerializer.Deserialize<List<RestCountry>>(jsonStream.ReadToEnd());
        foreach (var row in countriesV1)
        {
            RestCountriesBuffer.AddRow();
            RestCountriesBuffer.common = row.name.common;
            RestCountriesBuffer.cca2 = row.cca2;
            RestCountriesBuffer.cca3 = row.cca3;
            RestCountriesBuffer.ccn3 = row.ccn3;
        }
    }
}
public class RestCountry
{
    public Name name { get; set; }
    public string cca2 { get; set; }
    public string ccn3 { get; set; }
    public string cca3 { get; set; }
}

public class Name
{
    public string common { get; set; }
}
sql-server ssis
1个回答
0
投票

我也有同样的问题。你找到答案了吗?

© www.soinside.com 2019 - 2024. All rights reserved.