gpt4 book ai didi

azure - NuGet 包不编译 Azure CSX

转载 作者:行者123 更新时间:2023-12-03 02:59:26 26 4
gpt4 key购买 nike

我已将 NuGet 包包含在 Azure Function 应用程序中,我下载该应用程序以在 Visual Studio 中使用。我已将其添加到 project.json 中,但仍然收到“错误 CS0246:找不到类型或命名空间名称“NetTopologySuite”(是否缺少 using 指令或程序集引用?)”。我已通读microsoft's documentation并且找不到我可能做错了什么。

这是我的 csx 的示例:

#r "System.Data"

using System;
using System.Data;
using System.Data.SqlClient;
using System.Net;
using NetTopologySuite;

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
\\ Code to retrieve data from database and turn it into an array
\\ of GeoJSON features called DataFromDatabase not shown


NetTopologySuite.Features.Feature[] TrailSegments = DataFromDatabase;


HttpResponseMessage resp = req.CreateResponse(HttpStatusCode.OK);
resp.Content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(DataFromDatabase), System.Text.Encoding.UTF8, "application/json");
return resp;
}

这是我的project.json:

{
"frameworks": {
"net46": {
"dependencies": {
"NetTopologySuite.IO.GeoJSON": "1.14.0"
}
}
}
}

是否有人对此有更多经验,可以提供比文档中更多的内容?

"FUNCTIONS_EXTENSION_VERSION": "~1"
"WEBSITE_NODE_DEFAULT_VERSION": "6.5.0"

最佳答案

如果您上传 project.json文件到您的函数文件夹(不是函数应用程序文件夹),您所做的完全正确。我已按照您的步骤进行操作,并且一切正常。

Nuget恢复可在线编辑的函数不是那么敏感,因此您可能需要等待一段时间(您可以在函数代码中进行一些编辑,然后单击“保存”或直接重新启动整个函数应用程序)。

之后,你可以看到一个project.lock.json在函数文件夹下。这意味着该软件包已成功安装。然后一切都很顺利。

更新多个函数共享引用。

一个功能包恢复不能被其他人使用。所以如果你不想添加project.json我们就必须手动上传dll到每个功能。请参阅shared assemblies .

  1. 下载 NetTopologySuite.IO.GeoJSON .

  2. 在包中找到四个dll(NetTopologySuite.dll/NetTopologySuite.IO.GeoJSON.dll/GeoAPI.dll/PowerCollections.dll)并将它们上传到bin函数应用程序文件夹下的文件夹。

  3. 在代码中添加四个程序集 #r "..\bin\NetTopologySuite.IO.GeoJSON.dll" 。您可能还需要添加#r "Newtonsoft.Json"因为它是该包中的一个依赖项。

  4. 如果您使用具有像 NetTopologySuite.Features.Feature[] 这样的命名空间的 dll ,您不必导入 namespace 。反之亦然。

如果你清楚地知道这些依赖关系,你就可以只上传和引用你需要的dll。

关于azure - NuGet 包不编译 Azure CSX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50548462/

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