我已经在全新的Windows Server 2016上安装了带有有效的许可证密钥的TXTEXTCONTROL .NET 15.1,并且我已经安装了Visual Studio build Studio build build build build build build build tools 2017,包括.NET 4.6.2和.NET4.7.2。
当我构建我的C#project(targeting .net 4.6.2)时,我会收到以下错误:
(CompileLicxFiles target) ->
licenses.licx(1): error LC0004: Exception occurred creating type 'TXTextControl.ServerTextControl, TXTextControl, Version=15.1.800.500, Culture=neutral, PublicKeyToken=6b83fe9a75cfb638' System.DllNotFoundException: The TX Text Control kernel DLL file could not be found.
错误 The TX Text Control kernel DLL file could not be found
暗示了GAC中缺少的东西,然后我继续检查。
运行.NET 4.7.2随附的gacutil.exe
表示
-
txkernel.dll
-
txic.dll
-
txtools.dll
不在那里。
然后,我从各自的位置进行了手动安装X86和AMD64版本的手动安装:-
C:Program FilesThe Imaging Source Europe GmbHTX Text Control 15.1.NETBrowserBintxkernel.dll
-
C:Program FilesThe Imaging Source Europe GmbHTX Text Control 15.1.NETBrowserBin64txkernel.dll
- 等。
但仍然没有用!
我随后联系了支持,但是他们的答复是我的许可证不再有效,因此他们基本上拒绝回答有关该产品的任何问题。
过了一会儿,我得到了支持者说,该公司从未在新版本的Windows上测试TXTEXTCONTROL的旧版本,所以我最好的选择是购买新的许可证。
由于许可证非常昂贵,而且我们的(永久!)许可证对于运行产品非常有效,因此我决心找到解决此问题的解决方案。
任何人可以帮我吗?
挣扎后,我找到了解决方案:安装.NET 3.5之前安装txtextControl .net。
我的假设是,在运行gacutil.exe
时,TXTEXTCONTROL安装程序无法检查出口代码,因此它无法检测到注册失败。
这意味着解决此问题的食谱(我在此处发布bingle要接收)是:
- 擦除您可能进行的任何GAC注册,以手动安装txtextControl dlls
- 卸载txtextControl .net
- 转到服务器管理器,然后"添加角色和功能",然后在"功能"窗格上,在" .NET Framework 3.5功能"旁边放置一个checkmark(这会导致单个检查标记在.NET Framework中3.5(包括.NET 2.0和3.0)")
- 重新安装txtextControl .net
完成此操作后,我可以构建我的代码!
来自与ASP.NET版本相似的声音问题,请确保您还安装了Visual Studio 2013的Visual C 重新分布软件包,因为V25自V25以及对于任何机器都是必需的,并且对于任何机器都需要还没有安装的,然后ASP.NET版本就ttic.dll引发了类似的错误。