net6 控制台 + Web 项目上的 ClickOnce
ClickOnce on a net6 Console + Web Project
我有一个支持 kestrel 的 Web 应用程序(我需要设置一个侦听自定义端口的 Web 服务器),但这应该仍然是一个必须在我们客户的 PC 上执行的控制台应用程序。
一切正常,但我无法将 ClickOnce 用作发布配置文件。它只是没有出现在 Visual Studio 2022 发布配置文件中。
在我当前的配置中,我的 csproj 文件是:
<Project Sdk="Microsoft.NET.Sdk.Web">
修改为:
<Project Sdk="Microsoft.NET.Sdk">
神奇地出现 ClickOnce 发布配置文件,但我无法使用 kestrel 和 asp.net 基础设施(我需要),甚至添加依赖项。
如何强制 visual studio 在 Web 项目上也允许 ClickOnce?
或者作为替代方案(但前者是首选),我如何在没有 Microsoft.NET.Sdk.Web 的情况下 运行 asp.net 基础设施?
提前致谢
我认为您可以继续使用 Microsoft.NET.Sdk 并添加对 ASP.NET 核心共享框架的引用。
您的 .csproj 文件应该与此类似
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
</Project>
我有一个支持 kestrel 的 Web 应用程序(我需要设置一个侦听自定义端口的 Web 服务器),但这应该仍然是一个必须在我们客户的 PC 上执行的控制台应用程序。
一切正常,但我无法将 ClickOnce 用作发布配置文件。它只是没有出现在 Visual Studio 2022 发布配置文件中。
在我当前的配置中,我的 csproj 文件是:
<Project Sdk="Microsoft.NET.Sdk.Web">
修改为:
<Project Sdk="Microsoft.NET.Sdk">
神奇地出现 ClickOnce 发布配置文件,但我无法使用 kestrel 和 asp.net 基础设施(我需要),甚至添加依赖项。
如何强制 visual studio 在 Web 项目上也允许 ClickOnce?
或者作为替代方案(但前者是首选),我如何在没有 Microsoft.NET.Sdk.Web 的情况下 运行 asp.net 基础设施?
提前致谢
我认为您可以继续使用 Microsoft.NET.Sdk 并添加对 ASP.NET 核心共享框架的引用。
您的 .csproj 文件应该与此类似
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
</Project>