gpt4 book ai didi

visual-studio - Azure 上的 .NET Core 2 控制台应用程序依赖性问题

转载 作者:行者123 更新时间:2023-12-02 07:09:23 25 4
gpt4 key购买 nike

问题的简短版本:

我在包含我的 .NET Core 控制台应用程序所依赖的程序集时遇到困难。

最初,NuGet 包中的程序集未包含在 bin 中。文件夹,即使我可以在 Debug 中运行该应用程序模式没有任何问题。

发现一篇文章建议我添加 <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>myapp.csproj我所做的文件。

这样做包括dll bin 中的 NuGet 包的文件但是在我将控制台应用程序复制到 Azure 以作为 WebJob 运行后,我收到一条错误消息,告诉我 System.Data.SqlClient失踪了。

检查 WebJob 运行的文件夹后,我可以看到 dll对于 System.Data.SqlClient实际上是在文件夹中。我的结论是,这可能是版本号的问题。该错误表明以下内容:

'System.Data.SqlClient', version: '4.4.2' was not found

当我右键单击dll时该程序集的文件并检查其版本,它显示版本 4.6。

知道如何解决这个问题吗?

更长版本:

我按照本文构建了这个 .NET Core 2.0 控制台应用程序作为 WebJob 运行:http://matt-roberts.me/azure-webjobs-in-net-core-2-with-di-and-configuration/

我必须手动创建此 WebJobs 应用程序,因为当前 Visual Studio 不提供在 .NET Core 中构建 Azure WebJobs 的方法。

由于当前的限制,我也无法直接从 Visual Studio 发布我的 WebJobs 应用程序。

因此,我尝试将其压缩并通过 Azure 门户上传。这时我意识到 NuGet 程序集未包含在 bin 中。文件夹。故事的其余部分已经在“简短版本”部分中。

如果您能提供一些解决此问题的建议,我将不胜感激。

更新:

当我跑dotnet publish --self-contained -r win32-x64 -c Release时在项目的根文件夹中,我收到以下错误: enter image description here

最佳答案

不太确定 WebJobs 规范,但您应该能够使用 dotnetpublish --self-contained -r win-x64 -c Release 生成可执行文件及其依赖项。将它们压缩起来,您应该能够部署到 Azure。

确实没有必要像您那样修改您的csproj

此外,您可以使用.NET IL Linker来缩小生成的文件夹的大小。

引用

https://learn.microsoft.com/en-us/dotnet/core/deploying/deploy-with-cli#self-contained-deployment-with-third-party-dependencies

关于visual-studio - Azure 上的 .NET Core 2 控制台应用程序依赖性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48040013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com