如何在IIS6,7中部署ASP.NET网站?
阅读目录开始查看web.config文件在IIS中创建网站IIS6 添加扩展名映射IIS6 无扩展名的映射目录的写入权限SQL SERVER的配置在IIS7中部署ASP.NET程序80端口和域名在我的第一篇博客中我发布过一个示例项目 主要演示了我的我的AJAX框架和我的通用数据访问层。 虽然在当初我认为我已考虑地比较周全了而且还提供了足够的说明文档 但在发布后的将近一年的时间里还是有不少人给我发邮件问我一些关于不能运行示例的问题。 在所有问题中主要集中在IIS和SQL SERVER的配置方面。 因此我认为还是有必要再来谈一下在IIS6/7以及SQL SERVER中部署ASP.NET网站的过程了。在上篇博客【写自己的ASP.NET MVC框架下】中 我又发布了一个示例项目它也包含一个网站项目今天的介绍过程将主要以这个示例为主。对于以前的示例所需配置的相同部分将不会重复介绍不同点则会额外补充。回到顶部查看web.config文件ASP.NET网站与一般的桌面程序不同不是拷贝过来就能运行的数据库连接除外。 要想运行它通常需要一些配置过程。但是我们到底需要配置什么呢答案是查看web.configweb.config通常会放在网站的根目录这个文件中包含了一最重要的网站运行参数。比如 connectionStringshttpHandlershttpModules 这些参数都是网站开发人员认为运行网站所必需的参数。 因此如果我们想将一个网站部署到IIS中必须首先打开web.config文件逐个确认这些重要的参数是否符合要求。这里要补充一点的是有些开发人员喜欢将各类参数放在appSettings配置节中即便是数据库的连接字符串也放在appSettings中。 我只能说这是个很不好的习惯。因此在部署这类网站时可能还要注意一下appSettings是否包含数据库的连接字符串 这就需要人工识别了。当然了appSettings中还可能包含一些重要目录配置同样也只能人工识别了。今天要讲述的参数主要涉及到IIS和SQL SERVER因此本文将会分开介绍它们。而且IIS还会分为6和7.5二个版本来单独演示。SQL SERVER则以 2005 Express版本来演示。我演示所用的操作系统为Windows Server 2003和Windows 7 它们分别附带了IIS 6和IIS 7.5说明通常我们在部署网站时都应该先根据web.config定义的那些重要参数来配置网站。 但为了让您能对这些参数有较深刻的印象下面的演示中不是先根据web.config来配置网站 而是采用【从创建一个站点后一步一步地发现问题并解决】的方式来讲解这个过程。回到顶部在IIS中创建网站每个ASP.NET程序都是一个网站要想运行它们都需要在IIS中部署它们 部署的第一步就是要在IIS创建一个网站。 在IIS中创建网站的过程比较简单因为IIS都提供向导界面来帮助我们完成这个配置过程 因此本文打算省略那些无意义的贴图。说明我们先从IIS6开始。 这里只要求您在IIS中创建一个网站把它配置成网站就可以了其它的配置我们后面再谈。示例项目点击此处进入 MyMVC DEMO 下载页面网站创建好了吗我停下来等一下吧。我的网站配置好了现在已经可以用浏览器访问它。现在我们可以切换风格来试试效果点击页面右上角的【3】试试看。噢怎么一开始就出错了看到这个提示不要茫然。为了界面友好我用JavaScript捕获了这个错误但现在我们需要知道错误的原因是什么怎么办呢有FireBug或者Fiddler2吗如果有就打开它们吧。下图是我用FireBug看到的错误原因需要重新执行刚才的操作从FireBug中我们可以看到刚才的操作触发了一次请求请求的地址是/AjaxStyle/SetStyle.cspxcspx是个什么扩展名呢还是打开web.config看一下吧。httpHandlers add path*.cspx verb* typeMyMVC.AjaxHandlerFactory, MyMVC validatetrue / add path*.aspx verb* typeMyMVC.MvcPageHandlerFactory, MyMVC validatetrue / add path/mvc/* verb* typeMyMVC.MvcPageHandlerFactory, MyMVC validatetrue / /httpHandlers在web.config中网站要求配置的一些httpHandlers中第一个便是针对【cspx】扩展名的。这里我要解释一下【cspx】这个扩展名了。在以前的示例中我选择了【cs】这个扩展名表示一个AJAX调用 但是后来发现很多人在IIS中部署中遇到问题了原因后面再说。于是这次我换了个扩展名。 然而又有人问我cspx, 是不是写错了或许他认为应该是【aspx】才对。这个问题我用邮件回答过多次了今天用博客的形式再回答一次取什么扩展名都不重要我只要选择没有用过的扩展名来区分是AJAX调用就可以了。 我也可以取【fish】来做为AJAX请求地址的扩展名只是担心一些人认为俗气而已。回到顶部IIS6 添加扩展名映射回到IIS在网站节点上右击从弹出的菜单中选择【属性】然后在弹出的对话框中选择【主目录】选项卡并点击【配置】按钮。 此时的界面应该是这样的找到【ascx】这个扩展名双击它是不是弹出下面这个对话框照着图片的操作去完成复制【可执行文件】的设置路径。然后点击【取消】关闭对话框。此时将回到【应用程序配置】对话框点击【添加...】按钮照着图片操作吧。对话框中的【可执行文件】的参数此时已在Windows剪切板中现在只要粘贴就可以了。全部【确定】关闭所有对话框再回到浏览器然后再试一次。现在可以操作了吧先不要点击其它链接还是来对刚才的操作做个小结吧。在ASP.NET中有时候我们可能会需要创建自己所需的HttpHandler来处理一些特殊的请求。我的MyMVC框架就有这个需求将AJAX请求与页面的请求分开来处理。所以我们需要一些特殊格式的URL。通常选择一个没用过的扩展名会比较方便因此我选择了 cspx为了能告诉ASP.NET将以下格式的ULR映射到AjaxHandlerFactory/Fish.AA.AjaxTest/Add.cspx /Fish.BB.AjaxTest.Add.cspx /Fish/BB/AjaxTest/Add.cspx /AjaxDemo/GetMd5.cspx /AjaxDemo.GetMd5.cspx我就需要在web.config中注册这种URL模式并且为了能最好的匹配这些URL我可以使用下面的配置httpHandlers add path*Ajax*/*.cspx,*Ajax*.*.cspx verb* typeMyMVC.AjaxHandlerFactory, MyMVC validatetrue/ /httpHandlers我们可以用Visual Studio自带的WebDev.WebServer.EXE来运行网站程序。本来这一切都是很完美的。可是IIS中并不支持这么复杂的path设置它只能支持简单的扩展名映射。所以我也只好使用简单的扩展名【.cspx】来向IIS注册。我再来解释一下为什么在ASP.NET中前面那个path能够识别我上面所说的5种格式的URL在ASP.NET管线的处理器映射阶段ASP.NET会将【*Ajax*/*.cspx,*Ajax*.*.cspx】转换成下面的正则表达式 再来检查每个请求的URL是否匹配。(?:\A|(?/))[^/]*Ajax[^/]*/[^/]*\.cspx\z|(?:\A|(?/))[^/]*Ajax[^/]*\.[^/]*\.cspx\z有兴趣的话您也可以检验一下这个正则表达式与前面的URL都能匹配。从这里也可以看出ASP.NET对处理器的映射实现是可以支持比较复杂的URL模式的。关于处理器的映射过程可以参考我的博客【细说 HttpHandler 的映射过程】前面解释了我为什么最终选择【.cspx】来向IIS注册处理器了。在注册时还有二个参数也比较重要1. 可执行文件其实就是一个实现了ISAPI的模块IIS会将匹配的请求交给它然后由它再交给ASP.NET。 这个参数的路径比较长我们根本不需要记住它只需要找个已有配置中将它COPY出来就可以了。2. 确认文件是否存在这个参数一定不要选择。因为我们请求的URL并没有对应的文件存在。这里要补充一点我以前发布的FishWebLib DEMO中 使用了【cc】这样的扩展名可以按照上面的方法注册。但我还使用了【cs】和【ascx】这二个扩展名。由于这二个扩展名的注册已经存在了 所以我需要修改它们的配置双击配置项确保不要勾选【确认文件是否存在】即可。回到顶部IIS6 无扩展名的映射让我们再回到前面已配置好的示例中此时页面的显示应该是这个样子的点击一下页面上的链接【/mvc/Customers】试试。不要以为我是在故意设置陷阱哦。我在设计示例程序时根本也没想到会这样。到这里可能有人会想在httpHandlers中不是还有个【path/mvc/*】没有配置吗继续按照前面的方法去配置就能解决问题了。好吧我再照着前面的方法再试着注册【path/mvc/*】试试结果如下因此前面的方法对于这类【无扩展名】的URL来说是无效的。对于这类无扩展名的URL在IIS6中可以使用添加【通配符应用程序映射】的方法来解决。回到【应用程序配置】对话框点击【插入...】按钮弹出下面的对话框按照图片来设置一下吧。然后【确定】关闭对话框。此时的设置应该是这样的全部点击【确定】关闭所有对话框。让我们再次回到示例程序此时可以发现什么问题都没有了。再补充一句如果使用这种方法前面注册cspx的过程就不需要了。因为此时所有的请求都会交给ASP.NET而ASP.NET会识别我在web.config中所做的配置。回到顶部目录的写入权限为了方便MyMVC DEMO的部署过程 这次我选择了XML文件做为数据源。写入XML的时机是在ASP.NET被停止运行的时候Application_End事件中。让一个在IIS中运行的网站停止运行的方法就是停止网站所使用的【应用程序池】。可以在网站属性对话框中找到网站所使用的【应用程序池】再切到IIS的【应用程序池】的列表找到前面那个【应用程序池】右击鼠标从弹出的菜单中点击【属性】菜单然后在出现的对话框中选择【标识】选项卡从这个图片中我们可以知道网站以哪个Windows帐号在运行。记住这里后面会用到。好吧点击【取消】关闭对话框。补充一点要想知道网站以什么帐号运行还可以查看【Windows任务管理器】 找到w3wp.exe所在进程即可回到示例程序中我们可以随便添加一些数据。然后在【应用程序池】列表中停止网站所使用的应用程序池。再启动它。重新刷新示例程序的页面。发现什么了是不是数据没有保存下来如果发现数据没有保存起来可以继续阅读。数据不能保存的原因并不是因为代码没有执行而是因为网站运行的帐号没有权限写数据文件。XML是放在网站的App_Data目录中为了检查网站是否有写入权限可以在App_Data目录上右击 然后选择【属性】菜单切换到【安全】选项卡经过前面的分析我们已经知道网站是以【NETWORK SERVICE】帐号运行 然而在这个目录的安全设置中并没有允许【NETWORK SERVICE】帐号能有写入权限 所以网站在停止运行时是由于没有权限才导致不能保存数据的。此时我们可以赋予【NETWORK SERVICE】帐号对App_Data目录有写入权限。 设置如下图好了您可以再去重启网站所在的【应用程序池】会发现现在数据能正常保存了。回到顶部SQL SERVER的配置在FishWebLib DEMO中 我为了演示我的通用数据访问层而引入了SQL SERVER 因此示例程序需要SQL SERVER的支持。首先还是回到web.config来看一下示例程序需要访问什么样的数据库注意示例程序需要连接的SQL SERVER服务器是localhost\sqlexpress我的机器上安装了三个SQL SERVER的实例因此我需要以【命名实例】的方式来访问。如果您的机器将SQL SERVER做为【默认实例】来安装则需要修改为localhost在示例的压缩包中我提供了SQL SERVER所需的数据文件db\MyNorthwind.mdf在运行示例前我需要将它【附加】到SQL SERVER中。现在需要先启动 SQL Server Management Studio 连接SQL SERVER的实例后在【对象资源管理器】的树型控件中找到【数据库】节点右击然后点击【附加...】菜单在出现的对话框中点击【添加...】按钮选择MyNorthwind.mdf文件然后点击【确定】按钮。我这边出错了。再仔细地看一下发现是日志文件没有找到造成的。是的我并没将日志文件也放在压缩包中。好吧在对话框中删除日志文件就可以了再次【确定】。还是出错注意了这次的错误与前面的错误并不一样。这次是说没有目录的写入权限。当遇到没有目录的访问权限时我们首先要知道程序是以什么帐号在运行。这是非常重要的。要不然如何配置目录的访问权限呢判断程序以什么帐号运行最简单方法就是打开【Windows任务管理器】然后去找进程。这个方法可参考前面的过程。最终我们可以发现sqlserver.exe是以【NETWORK SERVICE】帐号在运行我的机器是这样。好吧再按照前面设置App_Data目录权限的方法再设置MyNorthwind.mdf文件所在目录的访问权限。再次尝试【附加】数据库将能成功完成。在我机器上现在已经可以运行示例程序了。说明如果由于种种原因不使用【Integrated SecuritySSPI】的连接认证方式还可以使用【用户名/密码】的方式 那就需要修改web.config中的连接字符串了。小结1. 由于SQL SERVER的数据文件保存在Windows操作系统中因此必须授予运行SQL SERVER进程的帐号所必需的目录访问权限。2. 连接到SQL SERVER时也可能会因为SQL SERVER验证连接身份而失败那么也必须配置需要的访问权限。到此为止示例所需的IIS配置以及SQL SERVER的配置都介绍完了。回到顶部在IIS7中部署ASP.NET程序前面介绍了如何在IIS6中部署一个ASP.NET网站现来看一下在IIS7.5中如何完成这个过程。接下来的演示将以Windows 7的IIS7.5为准。IIS7.5相对于IIS6的改进给我的感觉是部署ASP.NET网站简直太容易了。IIS7为了兼容老版本它支持二种模式来运行ASP.NET程序集成模式经典模式。所谓的经典模式其实就是为了兼容IIS6的模式。下文将着重介绍集成模式这样才能体现IIS改进的优势。在IIS6中我们需要配置扩展名的映射或者通配符映射将请求交给一个ISAPI筛选器然后由它再交给ASP.NET 最终由ASP.NET再将请求交给我们的httpHandlers, httpModules。 我们在web.config中配置的httpHandlers, httpModules对于IIS6来说是不可见的所以只能再次到IIS中配置。从IIS7开始IIS支持以一种称为【集成模式】的方式运行ASP.NET程序此时IIS能直接将请求交给ASP.NET的httpHandlers和httpModules 而且还可以直接从web.config中直接读取配置因此只要我们把web.config准备好配置任务就非常简单了。由于这个缘故我在后来提供的示例中在web.config中已增加对IIS7的支持。以下就是二个示例项目所需的IIS7的配置部分。FishWebLib DEMO只需要下面的配置就可以了MyMVC DEMO所需的配置如下以上这些配置会反映在IIS7.5的哪些地方看到呢请看下图在这个【处理器映射】列表中前三个不正是我在web.config中的配置嘛。前面还有一块fileExtensions的配置又是做什么的呢请看下图对于FishWebLib DEMO来说它使用了 cs, ascx 这样的扩展名 而且这二个扩展名按照默认的配置是禁止访问的所以在那个示例中这段配置的用途是将这二个扩展名变成允许访问。我在使用Windows7的IIS7.5时还发现一个与IIS6不同的地方它会默认为每个网站创建一个独立的应用程序池而且运行帐号也不是NETWORK SERVICE 不过我们可以容易地在【应用程序池】的属性中去修改它。小结在IIS7.5中部署ASP.NET网站是件容易的事前提是事先准备好web.config中的system.webServer配置节。然后只需要创建在IIS中创建一个网站并指向程序目录即可。注意如果程序需要访问本地文件或者数据库那么还需要设置文件系统或者数据库的访问权限具体可参考前面相关小节。回到顶部80端口和域名在前面的演示中为了简单选择了25678这个端口那是因为80端口已被使用。 这样做实际上不影响网站的运行不过URL看起来就不美观了。 通常HTTP默认是使用80端口如果使用这个端口那么URL中就不会出现端口号了。 为了让URL地址看起来更美观按下来我将演示如何使用80端口。在IIS中为了能让一个网站程序运行在80号端口中有2个办法1. 为网站程序使用其它的IP地址的80端口。2. 为网站指定域名绑定。我们可以在网卡的配置中新增一个IP地址如果已经有多个IP就不用这样做了然后在IIS中为网站设置【绑定】使用这个IP地址了。请参考下图除了使用新IP地址的方式外我们还可以使用域名的方式让网站可以在80端口下面运行。方法还是在IIS中设置网站的【绑定】操作给网站指定一个域名即可最终的设置应该是下面这个样子的此时我们就可以使用下面二种方式来访问我的示例网站了http://192.168.0.222http://www.mymvc-demo.com不过这里又有个新问题域名从哪里来答案有二个对于演示来说1. 修改 C:\Windows\System32\drivers\etc\hosts 文件增加一个映射条目127.0.0.1 www.mymvc-demo.com即可。2. 如果您使用的是Windows Server的操作系统也可以自己给自己分配域名请继续阅读。在Windows Server的操作系统中我们可以使用DNS服务创建自己的域名大致的过程是1. 创建一个反向查找区域。2. 创建一个正向查找区域。3. 在正向查找区域新建一个WWW的主机。4. 在IIS中为网站设置绑定指向新的域名。5. 设置网卡的DNS服务器地址指向有DNS服务的机器。这种方式或许对于单台机器来说比直接修改host文件要麻烦但如果是在局域网内部使用将会非常方便。DNS配置的相关过程如下向导中没有贴图的步骤可以直接确定现在我们就可以使用域名的方式来浏览我的示例了感兴趣的同学可以添加下面二维码一起讨论哦

相关新闻

电源硬件设计知识库:三层权威架构与自动化Agent实践

电源硬件设计知识库:三层权威架构与自动化Agent实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 20:02:11 阅读更多 →
模型压缩四大路线实战:剪枝、量化、蒸馏与AutoML选型指南

模型压缩四大路线实战:剪枝、量化、蒸馏与AutoML选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 20:02:11 阅读更多 →
组合数与逆元全解析:从扔硬币概率题到竞赛实战

组合数与逆元全解析:从扔硬币概率题到竞赛实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 20:02:10 阅读更多 →

最新新闻

3天从85%降到20%!这3个降AIGC平台让我导师直夸原创

3天从85%降到20%!这3个降AIGC平台让我导师直夸原创

还记得上周三凌晨两点,当我第三次收到知网AIGC检测报告时,手心都在冒汗——85%的AI相似度,40%的查重率,这意味着我的毕业论文根本达不到盲审要求。导师直接在我的初稿上批注“学术合规性存疑,建议重写”,那…

2026/10/14 20:50:15 阅读更多 →
Simple Live跨平台播放实现:media_kit与mpv的清晰度、硬件解码策略

Simple Live跨平台播放实现:media_kit与mpv的清晰度、硬件解码策略

【免费下载链接】dart_simple_live 简简单单的看直播(SimpleLive续) 项目地址: https://gitcode.com/gh_mirrors/dart/dart_simple_live 点击查看 免费下载 Simple Live(simple_live_app)是一款"简简单单看直播&…

2026/10/14 20:50:15 阅读更多 →
自考论文降AI率工具实测:8款改写器对比与避坑指南

自考论文降AI率工具实测:8款改写器对比与避坑指南

我上个月帮一位考友改了篇自考本科毕业论文,过学校查重平台后跳出一行小字:“疑似AI生成内容占比偏高”,把人吓够呛,但那篇文章确实是他自己一个字一个字敲出来的。这绝不是个例。2026年自考季临近,找我咨询降AI率工具…

2026/10/14 20:50:15 阅读更多 →
AI配音如何处理多音字?文字转语音发音错误的解决方法

AI配音如何处理多音字?文字转语音发音错误的解决方法

使用AI配音制作视频时,有些句子看起来没有问题,生成语音后却会出现读音错误。尤其是多音字、人名、地名和专业术语,即使上下文明确,语音合成也不一定能准确判断。如果旁白中出现错误发音,不仅影响听感,还可…

2026/10/14 20:50:15 阅读更多 →
智慧校园供应商考察报告怎么写?关键要素与评估标准全解析

智慧校园供应商考察报告怎么写?关键要素与评估标准全解析

去年帮一所高校做智慧校园数据中台的选型,前后面谈了六家供应商,每家都拍着胸脯说自家平台架构先进、接口开放、实施经验丰富。可等到考察报告写完、提交评审会的时候,我心里清楚,六家里面至少有两家在“先进架构”四个字上掺了水…

2026/10/14 20:50:15 阅读更多 →
yolov8-face 核心算子全解析:NMS、边界框格式转换与掩码处理的源码级指南

yolov8-face 核心算子全解析:NMS、边界框格式转换与掩码处理的源码级指南

人工智能计算机视觉深度学习 【免费下载链接】yolov8-face yolov8 face detection with landmark 项目地址: https://gitcode.com/gh_mirrors/yo/yolov8-face 点击查看 免费下载 本文是 ops.md 参考文档的深度展开,以 ultralytics/yolo/utils/ops.py 为…

2026/10/14 20:49:14 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →