gpt4 book ai didi

c# - Azure Function 在 bin 文件夹中创建文件夹?

转载 作者:行者123 更新时间:2023-12-03 00:57:04 24 4
gpt4 key购买 nike

我有一个 azure 函数(v3):

    [FunctionName("Function1")]
public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ExecutionContext context)
{
if (File.Exists(Path.Combine(context.FunctionAppDirectory, "bin", "MyFolder", "TextFile1.txt")))
return new OkObjectResult("File does exists!");
else
return new OkObjectResult("File does NOT exists!");
}

我的 .csproj 里面有:

<None Update="MyFolder\TextFile1.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

还有这个:

<Target Name="CopyFiles" AfterTargets="AfterBuild">

<ItemGroup>
<MySourceFiles Include="$(OutDir)\MyFolder\TextFile1.txt" />
</ItemGroup>

<Copy SourceFiles="@(MySourceFiles)" DestinationFolder="$(OutDir)\bin\MyFolder\" SkipUnchangedFiles="true" />
</Target>

我要..MyFolder/TextFile1.txt复制到..bin/MyFolder/TextFile1.txt

在本地运行它工作正常 File does exists!但将其发布到 Azure 我得到 File does NOT exists!

查看 .scm.azurewebsites.net/DebugConsole我可以看到文件夹并不像我希望的那样

C:\home\site\wwwroot\MyFolder>
C:\home\site\wwwroot\bin>

我确实尝试添加 <_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput>但这没有帮助。

我怎样才能让这个例子工作?

(编辑)为什么我尝试这样做:我有一个第三方 DLL,它期望文件夹结构与 DLL 位于同一文件夹中。这通常在 .NET 项目中向前延伸。使用 Azure 函数,此文件夹结构现在不会放置在与 DLL 相同的文件夹中。

最佳答案

您必须将文件设置为始终复制:

<None Update="MyFolder\TextFile1.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>

在 VS 中,单击文件 > 属性 > 更改复制到输出目录 > 始终复制

<小时/>

编辑:

在这种情况下,您必须使用管道复制文件任务将文件从wwwroot文件夹复制到wwwroot/bin

关于c# - Azure Function 在 bin 文件夹中创建文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66317440/

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