亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Docker 中運行項目時獲取'System.TypeInitialization

在 Docker 中運行項目時獲取'System.TypeInitialization

C#
達令說 2022-09-04 16:36:29
我有一個任務,我必須把我的CSOM .NET CORE 2.2項目放在Docker中。該項目由一個控制臺應用程序組成,該應用程序調用更新分類字段的 CSOM 項目 (dll)。當我自己運行項目時,它工作正常。當我將項目放在Docker容器中并嘗試運行它時,我得到以下結果System.AggregateException:發生一個或多個錯誤。(“Microsoft.Win32.Registry”的類型初始值設定項引發了異常。---> System.TypeInitializationException:'Microsoft.Win32.Registry' 的類型初始值設定項引發異常。---> System.PlatformNotSupportedException: 此平臺上不支持注冊表。這是我的 Docker 文件FROM microsoft/aspnetcore-build:2.0FROM microsoft/dotnet:2.2-aspnetcore-runtimeFROM microsoft/dotnet:2.2-sdkWORKDIR /app# copy csproj and restore as distinct layersCOPY *.csproj ./RUN dotnet restore# copy and build everything elseCOPY . ./#RUN dotnet publish -c Release -o outENTRYPOINT ["dotnet", "out/WebJobCore.dll"]下面是控制臺應用中的代碼部分    public static void Main(string[] args)    {        Console.WriteLine("Testing webjob");        Program t = new Program();        t.RunSynchronizer().Wait();    }    public async Task RunSynchronizer()    {        var traceWriter = new ConsoleTraceWriter();        var taxonomyFactory = new ItaTaxonomyFactory();        var synchronizer = new ItaTaxonomySynchronizer(traceWriter, taxonomyFactory);        Stopwatch stopWatch = new Stopwatch();        stopWatch.Start();        await synchronizer.SyncAll();        stopWatch.Stop();        TimeSpan ts = stopWatch.Elapsed;        // Format and display the TimeSpan value.        string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",            ts.Hours, ts.Minutes, ts.Seconds,            ts.Milliseconds / 10);        Console.WriteLine("My RunTime " + elapsedTime);    }
查看完整描述

1 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

在我切換到Docker上的Windows容器并使用此命令拉下Nano Server之后,這是可能的

docker pull mcr.microsoft.com/windows/nanoserver


查看完整回答
反對 回復 2022-09-04
  • 1 回答
  • 0 關注
  • 92 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號