私は最終的に正しい属性で生成するためにfunction.jsonファイルを取得できました。私がまだ苦労している唯一の問題は、scriptFileパスが間違った値に設定されている場合です。Azureファンクションfunction.jsonは正しくないscriptFileパスを生成します
"../bin/MyFunctions.dll"ではなく "bin/MyFunctions.dll"の値で生成されます。これは私がビルドしても公開しても起こります。
私がしようとすると、スクリプトホストを実行すると、私はエラーを取得する:
The following 1 functions are in error:
Echo: Invalid script file name configuration. The 'scriptFile' property is set to a file that does not exist.
手動で「../bin/MyFunctions.dll」に値を変更するには、問題を解決します。
csprojファイル
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<NoWarn>NU1701</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.0.0" />
<PackageReference Include="Microsoft.Azure.WebJobs" Version="3.0.0-beta3" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.6" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>
EchoFunction.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Microsoft.AspNetCore.Http;
using Microsoft.Azure.WebJobs.Host;
using System.Linq;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
namespace EchoFunctionNameSpace
{
public class EchoFunction
{
[FunctionName("Echo")]
public static IActionResult Run(
[HttpTriggerAttribute(AuthorizationLevel.Anonymous, "get", Route = "name/{name}/sname/{sname}")]
HttpRequest req, TraceWriter log, string name, string sname)
{
log.Info("C# HTTP trigger function processed a request.");
return new OkObjectResult($"Hello {name} {sname}");
}
}
}
host.json
{}
local.settings.json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"AzureWebJobsDashboard": ""
}
}
これは私が持っている唯一の4つのファイルです。私はSDK関数ジェネレータコードのバグであると信じるものを見つけ
{
"generatedBy": "Microsoft.NET.Sdk.Functions.Generator-1.0.6",
"configurationSource": "attributes",
"bindings": [
{
"type": "httpTrigger",
"route": "name/{name}/sname/{sname}",
"methods": [
"get"
],
"authLevel": "anonymous",
"name": "req"
}
],
"disabled": false,
"scriptFile": "bin/AzureFunctions.dll",
"entryPoint": "EchoFunctionNameSpace.EchoFunction.Run"
}
を。プロジェクト設定の詳細を表示します。 – Mikhail
追加情報 – Craigt
ええ、あなたのファイルをコピーして貼り付けましたが、 '../bin'プロダクトをビルド/パブリッシュするだけです。サブフォルダなしで同じフォルダにある4つのファイルはすべてですか? – Mikhail