从 project.json 到 function.proj xml 的 Azure 函数转换
Posted
技术标签:
【中文标题】从 project.json 到 function.proj xml 的 Azure 函数转换【英文标题】:Azure function conversion from project.json to function.proj xml 【发布时间】:2020-06-28 07:07:03 【问题描述】:如何将旧的 project.json 转换为 Azure Function App 的 function.proj xml
"frameworks":
"net46":
"dependencies":
"Newtonsoft.Json": "10.0.3",
"System.ServiceModel.Primitives":"4.4.0",
"MongoDB.Bson": "2.4.0",
"MongoDB.Driver": "2.4.0",
"MongoDB.Driver.Core": "2.4.0"
【问题讨论】:
【参考方案1】:你只需要创建如下的xml:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<AzureFunctionsVersion>v2</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.ServiceModel.Primitives" Version="4.4.0" />
<PackageReference Include="MongoDB.Bson" Version="2.4.0" />
<PackageReference Include="MongoDB.Driver" Version="2.4.0" />
.......
</ItemGroup>
</Project>
将旧文件中的所有包信息(路径和版本)复制到此 xml。可以参考这个tutorial。
【讨论】:
感谢您的信息。我收到错误错误 CS0234:使用 System.ServiceModel.Description 的命名空间“System.ServiceModel”中不存在类型或命名空间名称“描述”(您是否缺少程序集引用?);还有错误 CS0246:找不到类型或命名空间名称“MongoDB”(您是否缺少 using 指令或程序集引用?) @user3744961 我可以知道你的天蓝色函数的版本吗?将 project.json 转换为 function.proj 时,是创建一个新的函数应用还是只使用旧的函数应用? 创建了新的函数应用。版本 - 3;运行时版本:3.0.13139.0 @user3744961 我之前也遇到过同样的问题,刚刚搜索了一些资料。根据这个post,看来我们可以在 azure function v1 中使用“System.ServiceModel.Primitives”。 @user3744961 您可以尝试将包的dll复制到azure函数bin文件夹并使用#r将其导入您的函数中(但我之前尝试过这种方式但失败了)。以上是关于从 project.json 到 function.proj xml 的 Azure 函数转换的主要内容,如果未能解决你的问题,请参考以下文章
.NET Core 工具从 project.json 移动到基于 MSBuild 的项目后的使用
.NET Core项目从xproj+project.json向csproj迁移简介