简体   繁体   English

安装 TXTextControl 后构建错误

[英]Build error after installing TXTextControl

I have installed TXTextControl .NET 15.1 with a valid license key on a brand-new Windows Server 2016, and I have installed Visual Studio Build Tools 2017 including .NET 4.6.2 and .NET 4.7.2.我已经在全新的 Windows Server 2016 上安装了带有有效许可证密钥的 TXTextControl .NET 15.1,并且我已经安装了 Visual Studio Build Tools 2017,包括 .NET 4.6.2 和 .NET 4.7.2。

When I build my C# project (targeting .NET 4.6.2), I get the following error:当我构建我的 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 error The TX Text Control kernel DLL file could not be found hinted at something missing in the GAC, which I then proceeded to check out.错误The TX Text Control kernel DLL file could not be found暗示 GAC 中缺少某些东西,然后我继续检查。

Running the gacutil.exe that came with .NET 4.7.2 indicated that the necessary registrations for运行 .NET 4.7.2 附带的gacutil.exe表明需要注册

  • txkernel.dll
  • txic.dll
  • txtools.dll

were not there.不在那里。

I then went on and installed them manually, both the x86 and AMD64 versions, from their respective locations:然后我继续从各自的位置手动安装它们,包括 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
  • etc.等等。

But it still didn't work!但它仍然没有奏效!

I then contacted support, but their reply was that my license was no longer valid for support, so they basically refused to answer any questions about the product.然后我联系了支持,但他们的答复是我的许可证不再有效,因此他们基本上拒绝回答有关该产品的任何问题。

After a while I then got the supporter to say that the company never test OLD versions of TXTextControl on NEW versions of Windows, so my best bet would be to purchase a new license.过了一会儿,我让支持者说公司从来没有在新版本的 Windows 上测试旧版本的 TXTextControl,所以我最好的办法是购买新的许可证。

Since the license is pretty expensive, and our (PERPETUAL!) license is perfectly valid for running the product, I am determined to find a solution to this issue.由于许可证非常昂贵,而且我们的(永久!)许可证对于运行该产品完全有效,我决心找到解决此问题的方法。

Can anyone help me?谁能帮我?

After some struggling, I found the solution: Install .NET 3.5 BEFORE installing TXTextControl .NET.经过一番挣扎,我找到了解决方案:在安装 TXTextControl .NET 之前安装 .NET 3.5。

My hypothesis is that the TXTextControl installer fails to check the exit codes, when running gacutil.exe , so it doesn't detect that the registrations have failed.我的假设是 TXTextControl 安装程序在运行gacutil.exe时无法检查退出代码,因此它没有检测到注册失败。

This means that the recipe for solving this problem (which I post here for Bingle to pick up), is to:这意味着解决这个问题的秘诀(我在这里发布供 Bingle 学习)是:

  • wipe any GAC registrations you may have made in an attempt to manually install the TXTextControl DLLs擦除您在尝试手动安装 TXTextControl DLL 时可能进行的任何 GAC 注册
  • uninstall TXTextControl .NET卸载 TXTextControl .NET
  • go to Server Manager and "Add Roles and Features", and then on the "Features" pane, you put a checkmark next to ".NET Framework 3.5 Features" (which causes a single checkmark to be in ".NET Framework 3.5 (includes .NET 2.0 and 3.0)")转到服务器管理器和“添加角色和功能”,然后在“功能”窗格上,在“.NET Framework 3.5 功能”旁边打勾(这会导致在“.NET Framework 3.5(包括.NET 2.0 和 3.0)")
  • reinstall TXTextControl .NET重新安装 TXTextControl .NET

After this was done, I could build my code!完成后,我可以构建我的代码!

由于 ASP.Net 版本存在类似的问题,请确保您还安装 了 Visual Studio 2013 的 Visual C++ Redistributable Packages,因为自 v25 以来,这是必需的,并且对于尚未安装 ASP 的任何机器。 Net 版本会引发关于 txic.dll 的类似错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM