我有netcoreapp1.1,我试图使用WebDeploy发布到Azure。我可以执行dotnet publish
并将内容部署到Azure,但该网站只是说“您无权查看此目录或页面。”,这表明应用程序未运行。
我以前的应用程序使用net461作为目标框架,我注意到发布这些(使用dotnet publish --configuration Release --runtime win7-x64 --output .deploy
)导致创建了一个web.config文件,这解释了IIS如何运行它,但是这个当目标框架是netcoreapp1.1时不会发生。
我一直用来发布的命令是这样的:
<Project Sdk="FSharp.NET.Sdk;Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
<RuntimeIdentifiers>win7-x64</RuntimeIdentifiers>
<OutputType>Exe</OutputType>
</PropertyGroup>
<PropertyGroup>
</PropertyGroup>
<ItemGroup>
<Compile Include="Controllers/*.fs" />
<Compile Include="Startup.fs" />
<Compile Include="Program.fs" />
<None Remove="**/*.fs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="FSharp.Core" Version="4.1.*" />
<PackageReference Include="FSharp.NET.Sdk" Version="1.0.*" PrivateAssets="All" />
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0" />
</ItemGroup>
</Project>
这是我的项目文件:
dotnet publish
我打算如何在Azure上运行netcoreapp1.1?它是否必须是自包含的,或者是否可以让Azure应用服务从dll运行它?
修改
将web.config手动复制到我的发布目录中我可以让应用程序运行。如何让from sshtunnel import SSHTunnelForwarder
url = 'jdbc:postgresql://localhost:5432,psqlhost:5432/psqldatabase'
table = 'mytable'
properties = {
'user': 'user',
'password': 'password',
'driver': 'org.postgresql.Driver'
}
with SSHTunnelForwarder(
('emrhost', 22),
remote_bind_address=('psqlhost', 5432),
local_bind_address=('localhost', 5432)
):
products_df = spark.read.jdbc(url=url, table=table, properties=properties)
自动创建它?
此外,我仍然对以前的问题感到好奇。
答案 0 :(得分:0)
将信息添加到您需要复制csproj
的{{1}}文件中,如下所示:
web.config