Closed funthing closed 3 years ago
1、将MediaServer文件夹放到StreamMediaServerKeeper项目文件夹中,然后修改StreamMediaServerKeeper.csproj,新增代码:
<ItemGroup> <None Include="MediaServer\**" CopyToOutputDirectory="PreserveNewest" /> </ItemGroup>
作用:生成或发布时,如果MediaServer文件夹中的内容有修改,则复制到输出目录。
2、修改StreamMediaServerKeeper项目中的Config.conf,将MediaServerBinPath更改为包含\~符号的相对目录,\~代表StreamMediaServerKeeper可执行程序的目录。
3、修改StreamMediaServerKeeper\Common.cs,将MediaServerBinPath 赋值语句修改为MediaServerBinPath = tmpArr[1].Trim().TrimEnd(';').Replace("~", AppDomain.CurrentDomain.BaseDirectory); 即如果检测到配置文件目录中包含\~符号,则视为可执行程序所在目录。
MediaServerBinPath = tmpArr[1].Trim().TrimEnd(';').Replace("~", AppDomain.CurrentDomain.BaseDirectory);
这样后续发布到新的服务器可以直接将StreamMediaServerKeeper生成的文件夹复制过去,不需要重新配置MediaServer目录。
有需要的可以参考下,
晚些空的时候,我会重新整理一下说明,打算建设一下wiki栏目
需求:将MediaServer直接作为项目的一部分,发布时直接赋值到输出目录
实现步骤:
1、将MediaServer文件夹放到StreamMediaServerKeeper项目文件夹中,然后修改StreamMediaServerKeeper.csproj,新增代码:
作用:生成或发布时,如果MediaServer文件夹中的内容有修改,则复制到输出目录。
2、修改StreamMediaServerKeeper项目中的Config.conf,将MediaServerBinPath更改为包含\~符号的相对目录,\~代表StreamMediaServerKeeper可执行程序的目录。
3、修改StreamMediaServerKeeper\Common.cs,将MediaServerBinPath 赋值语句修改为
MediaServerBinPath = tmpArr[1].Trim().TrimEnd(';').Replace("~", AppDomain.CurrentDomain.BaseDirectory);
即如果检测到配置文件目录中包含\~符号,则视为可执行程序所在目录。这样后续发布到新的服务器可以直接将StreamMediaServerKeeper生成的文件夹复制过去,不需要重新配置MediaServer目录。