添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
我开发的ide是VS Studio2019
.net版本用的是和官方推荐的4.7.2一致
在官网的霸主文档下,有这么一段
Reference (opens new window)the TaleWorlds.* DLLs in the bin\Win64_Shipping_Client directory of your game files (not your module directory).

我按照这个说明,引入了游戏目录下的 TaleWorlds开头的动态链接库(dll), 其他的都没问题,唯独 TaleWorlds.Native.dll 这个动态链接库在引用时报错: 未能添加对此文件的引用,请确保此文件可访问并且是一个有效的程序集或者COM组件 看起来好像这个dll里面根本没有留下入口,甚至都不算类库,所以暂时就没有引用这个dll,然而项目也能正常运行,编译出来的dll可以被霸主识别并且调用。 但是设置debug时,问题就来了,我按照霸主文档推荐的第一种方法设置的 Open your project properties and go to the Debug tab. Select the Start external program option and then browse for Bannerlord.exe located in the bin\Win64_Shipping_Client directory in your game files (not your module directory). Set your working directory to the bin\Win64_Shipping_Client directory in your game files (not your module directory). Add the following command line arguments (be sure to replace ExampleMod with the name of your module): /singleplayer _MODULES_*Native*SandBoxCore*CustomBattle*SandBox*StoryMode*ExampleMod*_MODULES_  配置截图:  然后启动时控制台输出如下: “Bannerlord.exe”(CLR v4.0.30319: DefaultDomain): 已加载“C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll”。已跳过加载符号。模块进行了优化,并且调试器选项“仅我的代码”已启用。 “Bannerlord.exe”(CLR v4.0.30319: DefaultDomain): 已加载“D:\Program Files (x86)\Steam\steamapps\common\Mount & Blade II Bannerlord\bin\Win64_Shipping_Client\Bannerlord.exe”。已跳过加载符号。模块进行了优化,并且调试器选项“仅我的代码”已启用。 “Bannerlord.exe”(CLR v4.0.30319: Bannerlord.exe): 已加载“D:\Program Files (x86)\Steam\steamapps\common\Mount & Blade II Bannerlord\bin\Win64_Shipping_Client\TaleWorlds.Starter.Library.dll”。已跳过加载符号。模块进行了优化,并且调试器选项“仅我的代码”已启用。 “Bannerlord.exe”(CLR v4.0.30319: Bannerlord.exe): 已加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\netstandard\v4.0_2.0.0.0__cc7b13ffcd2ddd51\netstandard.dll”。模块已生成,不包含符号。 “Bannerlord.exe”(CLR v4.0.30319: Bannerlord.exe): 已加载“D:\Program Files (x86)\Steam\steamapps\common\Mount & Blade II Bannerlord\Modules\DisorderByCoffeKnight\bin\Win64_Shipping_Client\TaleWorlds.DotNet.dll”。已跳过加载符号。模块进行了优化,并且调试器选项“仅我的代码”已启用。 “Bannerlord.exe”(CLR v4.0.30319: Bannerlord.exe): 已加载“D:\Program Files (x86)\Steam\steamapps\common\Mount & Blade II Bannerlord\bin\Win64_Shipping_Client\TaleWorlds.Library.dll”。已跳过加载符号。模块进行了优化,并且调试器选项“仅我的代码”已启用。 “Bannerlord.exe”(CLR v4.0.30319: Bannerlord.exe): 已加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.InteropServices.RuntimeInformation\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.InteropServices.RuntimeInformation.dll”。模块已生成,不包含符号。 程序“[16932] Bannerlord.exe”已退出,返回值为 -1073741819 (0xc0000005) 'Access violation'。  Google和好几天,一直没能解决,在论坛搜索了一下,好像也没有人遇到过这个问题,所以有.net开发大佬不吝指教一下嘛
升级了.net到5.0,第二个问题解决了,第一个仍然无解
--------------------------------------------------------------------------------------------------------------------2023.07.11---------------------------------------------------------------------------------------------------------------
解决方式为:按照 中的方式创建CSmod,然后迁移代码即可