Eiffi 发表于 2025-12-8 20:17:04

【已解答】这次一定要学会Linux面板的创建Net网站使用

具体内容我就不发过来了,原贴:https://www.bt.cn/bbs/thread-151981-1-1.html为什么我要重新发帖,因为在一个帖子里面,只要bt团队工作人员回复过后,他就给你设置【已解答】,后面就不再回复了,我只能不断的发新帖寻求帮助或解决之道。




按照操作添加环境变量之后,重新启动服务器,通过测试:
root@DebianCeShi:~# echo $HOME
/root看样子应该不是这里的问题吧,但是提示还是老样子:
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: “WarnForInvalidProjectsTask”任务意外失败。
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: System.InvalidOperationException: 未设置必需的环境变量“HOME”。请尝试设置“DOTNET_CLI_HOME”或“HOME”并再次运行该操作
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at NuGet.Common.NuGetEnvironment.GetValueOrThrowMissingEnvVarsDotnet(Func`1 getValue, String home, String dotnetHome)
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at NuGet.Common.NuGetEnvironment.GetHome()
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at NuGet.Common.NuGetEnvironment.<>c.<.cctor>b__20_0()
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at System.Lazy`1.CreateValue()
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at NuGet.Common.NuGetEnvironment.GetFolderPath(SpecialFolder folder)
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at NuGet.Common.NuGetEnvironment.GetFolderPath(NuGetFolderPath folder)
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at NuGet.Common.PathUtility.CheckIfFileSystemIsCaseInsensitive()
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at System.Lazy`1.CreateValue()
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at NuGet.Common.PathUtility.get_IsFileSystemCaseInsensitive()
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at NuGet.Common.PathUtility.GetStringComparerBasedOnOS()
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at NuGet.Build.Tasks.WarnForInvalidProjectsTask.Execute()
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
/www/server/dotnet/8.0.100/sdk/8.0.100/NuGet.targets(424,5): error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask)

生成失败。请修复生成错误并重新运行。到底怎么解决创建net站点之后,首次是正常的,但是只要重新启动后,就无法正常运行了。使用测试程序是堡塔面板官方演示视频中所使用的Blog.Core,从去年刚推出Net建站我就测试过,到现在一年多了,再次测试,还是同样的问题,只要重新启动之后,再次启动无法正常启动了。只有最初创建Net那次是正常的,已经测试过从去年到现在至少也有十好几遍了,希望给一次性给个解决方案,一直无法正常测试通过。

阿珂 发表于 2025-12-9 09:50:13

请勿重复发帖,论坛仅做解答,故标为已解答,贴下回复看到后会继续解答

用root用户执行
重启服务器后报错,很有可能是你的服务器重启后环境变量失效了,写入系统的配置文件

Eiffi 发表于 2025-12-9 13:31:03

阿珂 发表于 2025-12-9 09:50
请勿重复发帖,论坛仅做解答,故标为已解答,贴下回复看到后会继续解答

用root用户执行


1、从去年到今年,多次测试,每次都是重新安装的debian12,是堡塔官方推荐的系统,并且每次都是重新安装的最小化,就是只包含标准系统和ssh服务的。
2、在上面的基础之上,每次第一次都是成功的,没有报错,正常运行,正常编译成功,测试文件都是官方演示视频中的Blog.Core。而第二次就会报错,无法正常运行编译。
3、现在的问题是如何解决这个问题?执行有两个可选,一个是www,一个是root,根据官方视频教程,每次都选择了root。这个问题一年多了,一直没有学会如何使用,麻烦你们测试一下是不是我所说的这个问题,并且这个问题经过我十几次测试,是每次都会复现的,到底这个问题应该属于用户来解决?还是官方从面板上面完善不足?

Eiffi 发表于 2025-12-10 06:34:45

本帖最后由 Eiffi 于 2025-12-10 13:46 编辑

阿珂 发表于 2025-12-9 09:50
请勿重复发帖,论坛仅做解答,故标为已解答,贴下回复看到后会继续解答

用root用户执行

如果这个地方是设计Bug的话,麻烦提交修复,一年多了。从去年就测试反馈了这个问题,到现在依然存在,一直没有做任何改进。并且这个问题是可以复现的。

我现在使用是直接发布成linux版直接在linux上面运行,没有依赖堡塔。测试是在本地vbox虚拟机,从新安装系统然后安装宝塔,干干净净原系统情况下做的测试,官方可以复现此问题Debian12+BT10或者11

阿珂 发表于 2025-12-11 10:29:16

面板更新至最新版的11.4,并修复至最新版本

Eiffi 发表于 2025-12-11 17:59:41

阿珂 发表于 2025-12-11 10:29
面板更新至最新版的11.4,并修复至最新版本

Eiffi 发表于 2025-12-21 08:21:36

我又发现一个问题,在运行时里面生成,会碰到几个问题:
1、需要把源文件上传,通常很大(当然可以压缩包上传,但容量依然很大)
2、在服务器端生成失败的概率很大,在运行时中生成,会缺这少那造成生成失败。

对应解决想法:
1、宝塔面板允许用户上传在本地生成后的文件,这样发生发布后的文件通常就比较小了。也容易上传。
2、在本地生成过程中,出现问题比较容易解决。并且生成后,就不需要在服务器端占用资源去在服务器端生成了,这样服务器端只需要运行时环境运行程序即可。

最终汇总解决办法:
由宝塔面板现在是上传Net源代码去生成后运行这种办法之外,再增加另外一种操作,上传生成后的可执行文件,这种文件不需要再服务器端生成,直接在服务器端执行可执行文件即可,这样运行时也是由宝塔来管理的,比较方便切换等。

这是我在尝试了多次之后,能想到的简单可解决的办法之一。
或者现在已经支持折中方式,只需要告知如何填写对应的面板参数即可。我自己尝试了几个,都运行不成功。就是直接执行可执行文件,提示没有运行时,希望官方解答或者解决,辛苦了
页: [1]
查看完整版本: 【已解答】这次一定要学会Linux面板的创建Net网站使用