Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 在Google App Engine上运行最新的ASP.NET核心版本_Asp.net Core_Google Cloud Platform - Fatal编程技术网

Asp.net core 在Google App Engine上运行最新的ASP.NET核心版本

Asp.net core 在Google App Engine上运行最新的ASP.NET核心版本,asp.net-core,google-cloud-platform,Asp.net Core,Google Cloud Platform,我最近一直在开发一个.net core 2.0 web应用程序,并考虑在Google cloud上使用Google的应用程序引擎来托管它,但根据教程,Google cloud使用的.net core 1.0不支持我的项目。 我可以在云上运行使用较新sdk制作的应用程序吗?您可以将应用程序部署为自包含应用程序,然后在未安装运行时的情况下运行 它在ASP.NET核心文档中有很好的描述 它归结为向csproj文件中添加或元素 <PropertyGroup> <RuntimeI

我最近一直在开发一个.net core 2.0 web应用程序,并考虑在Google cloud上使用Google的应用程序引擎来托管它,但根据教程,Google cloud使用的.net core 1.0不支持我的项目。
我可以在云上运行使用较新sdk制作的应用程序吗?

您可以将应用程序部署为自包含应用程序,然后在未安装运行时的情况下运行

它在ASP.NET核心文档中有很好的描述

它归结为向csproj文件中添加
元素

<PropertyGroup>
    <RuntimeIdentifiers>win10-x64;osx.10.11-x64</RuntimeIdentifiers>
</PropertyGroup>

自部署将从nuget下载所有必要的文件,包括.NET核心运行时,并将其放入输出文件夹

您可以将应用程序部署为自包含应用程序,然后可以在未安装运行时的情况下运行它

它在ASP.NET核心文档中有很好的描述

它归结为向csproj文件中添加
元素

<PropertyGroup>
    <RuntimeIdentifiers>win10-x64;osx.10.11-x64</RuntimeIdentifiers>
</PropertyGroup>

自部署将从nuget下载所有必要的文件,包括.NET核心运行时,并将其放入输出文件夹

遗憾的是,教程已经过时了。我们现在每天都有.NETCore1.0、1.1和2.0的运行时映像。我们正在检查文档并修复它,但这需要一段时间

根据此更新中的说明,您将需要一个最小的app.yaml,类似于:

env: flex
runtime: aspnetcore
然后,从项目的根目录运行:

dotnet restore
dotnet publish -c Release
将app.yaml复制到发布过程的输出,通常是
bin\Release\netcore2.0\publish
,然后使用以下内容部署应用程序:

gcloud beta app deploy bin\Release\netcore2.0\publish\app.yaml
此命令将检测您正在使用的.NET Core版本,并为您构建适当的Docker映像


请注意,AppEngine Flexible中的.NET核心支持仍处于测试阶段,我们正在努力工作,以便尽快进入GA。

遗憾的是,教程已经过时。我们现在每天都有.NETCore1.0、1.1和2.0的运行时映像。我们正在检查文档并修复它,但这需要一段时间

根据此更新中的说明,您将需要一个最小的app.yaml,类似于:

env: flex
runtime: aspnetcore
然后,从项目的根目录运行:

dotnet restore
dotnet publish -c Release
将app.yaml复制到发布过程的输出,通常是
bin\Release\netcore2.0\publish
,然后使用以下内容部署应用程序:

gcloud beta app deploy bin\Release\netcore2.0\publish\app.yaml
此命令将检测您正在使用的.NET Core版本,并为您构建适当的Docker映像

请注意,AppEngine Flexible中的.NET核心支持仍处于测试阶段,我们正在努力工作,以便尽快进入GA。

第1部分 确保您有以下两个文件

  • app.yaml
  • Dockerfile
在项目根目录中显示以下内容

应用程序yaml

env: flex
runtime: custom
Dockerfile

FROM [DOCKER_IMAGE_URL]
COPY . /app
WORKDIR /app
EXPOSE 8080
ENV ASPNETCORE_URLS=http://*:8080
ENTRYPOINT ["dotnet", "[NAME_OF_PROJECT].dll"]
请记住将
[NAME\u OF_PROJECT]
替换为您的项目名称,并将
[DOCKER\u IMAGE\u URL]
替换为以下URL之一:

例如:
mcr.microsoft.com/dotnet/core/aspnet:3.0
用于ASP.NET core 3.0

第二部分 为了使我们在第1部分中创建的文件投入使用,需要在运行build命令时将它们复制到output/build目录

这可以通过添加以下内容来实现

<ItemGroup>
  <None Include="app.yaml"   CopyToOutputDirectory="PreserveNewest" />
  <None Include="Dockerfile" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>

到您的
.csproj
文件

现在,当我们运行build命令时,它们将被复制到发布版本的
/bin/Release/netcoreapp[VERSION]/publish
,调试版本的
/bin/Debug/netcoreapp[VERSION]

其中
[VERSION]
是您正在使用的ASP.NET核心版本

第三部分 从这里开始,使用googlecloudsdk进行部署


感谢:

  • 第一部分 确保您有以下两个文件

    • app.yaml
    • Dockerfile
    在项目根目录中显示以下内容

    应用程序yaml

    env: flex
    runtime: custom
    
    Dockerfile

    FROM [DOCKER_IMAGE_URL]
    COPY . /app
    WORKDIR /app
    EXPOSE 8080
    ENV ASPNETCORE_URLS=http://*:8080
    ENTRYPOINT ["dotnet", "[NAME_OF_PROJECT].dll"]
    
    请记住将
    [NAME\u OF_PROJECT]
    替换为您的项目名称,并将
    [DOCKER\u IMAGE\u URL]
    替换为以下URL之一:

    例如:
    mcr.microsoft.com/dotnet/core/aspnet:3.0
    用于ASP.NET core 3.0

    第二部分 为了使我们在第1部分中创建的文件投入使用,需要在运行build命令时将它们复制到output/build目录

    这可以通过添加以下内容来实现

    <ItemGroup>
      <None Include="app.yaml"   CopyToOutputDirectory="PreserveNewest" />
      <None Include="Dockerfile" CopyToOutputDirectory="PreserveNewest" />
    </ItemGroup>
    
    
    
    到您的
    .csproj
    文件

    现在,当我们运行build命令时,它们将被复制到发布版本的
    /bin/Release/netcoreapp[VERSION]/publish
    ,调试版本的
    /bin/Debug/netcoreapp[VERSION]

    其中
    [VERSION]
    是您正在使用的ASP.NET核心版本

    第三部分 从这里开始,使用googlecloudsdk进行部署


    感谢: