我已经在全新的Windows Server 2016上安装了带有效许可证密钥的TXTextControl .NET 15.1,并且我安装了Visual Studio Build Tools 2017,包括.NET 4.6.2和.NET 4.7.2。
当我构建我的C#项目(针对.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 Files\The Imaging Source Europe GmbH\TX Text Control 15.1.NET\BrowserBin\txkernel.dll
C:\Program Files\The Imaging Source Europe GmbH\TX Text Control 15.1.NET\BrowserBin64\txkernel.dll
但它仍然无法正常工作!
然后我联系了支持部门,但他们的答复是我的许可证不再有效支持,因此他们基本上拒绝回答有关该产品的任何问题。
过了一会儿,我让支持者说公司从未在新版本的Windows上测试旧版TXTextControl,所以我最好的选择是购买新的许可证。
由于许可证非常昂贵,而且我们的(PERPETUAL!)许可证对于运行产品完全有效,因此我决心找到解决此问题的方法。
谁能帮我?
经过一番努力,我找到了解决方案:在安装TXTextControl .NET之前安装.NET 3.5。
我的假设是TXTextControl安装程序在运行gacutil.exe
时无法检查退出代码,因此它不会检测到注册失败。
这意味着解决这个问题的方法(我在这里发布Bingle来提取)是:
完成后,我可以构建我的代码!