小编Pop*_*ert的帖子

使用与客户端相同的.NET版本替换COM注册的.dll时,.NET客户端崩溃

我们有一个旧的C/C++ .dll是COM注册的.我们的客户拥有使用此.dll的本机和.NET客户端.

我们已经构建了一个新的.NET .dll来替换旧的.dll,即它们的COM接口完全相同.我们想要替换旧的.dll,而无需客户需要重新编译或对客户进行任何操作.

对于本机客户端,只需取消注册旧的.dll并注册新的(使用regasm)即可.它也适用于某些.NET客户端.但是,在这些情况下,客户端和新的.dll都使用相同的.NET版本进行编译,它会引发下面的异常.

换句话说,这有效:

.dll is .NET 3.5 -> client is .NET 4.0
.dll is .NET 4.0 -> client is .NET 3.5
.dll is any .NET -> Client is native
Run Code Online (Sandbox Code Playgroud)

这会抛出以下内容:

.dll is .NET 4.0 -> client is .NET 4.0
.dll is .NET 3.5 -> client is .NET 3.5
Run Code Online (Sandbox Code Playgroud)

[A] BARAPIXLib.barcom5无法强制转换为[B] BARAPIXLib.barcom5.

类型A源自'BARAPIXLib,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null',位于上下文'LoadFrom'位置C:\ arkiv\S_BTW\BTW\BARAPIXWebService\Barapix\bin\BARAPIXLib.dll'.

类型B源自'BartrackTest,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'在上下文'Default'位置'C:\ arkiv\Bartrack\BartrackTest\x86\Src\BartrackTest\bin\x86\Release\BartrackTest.exe"."}

任何想法,将不胜感激.

.net com dll

8
推荐指数
1
解决办法
315
查看次数

从Web打印"原始文本"(ZPL)

我们有很多旧的ZPL标签.

我们希望能够从Web客户端打印它们.打印机连接到客户端而不是服务器.

我们有一些想法:

  1. 从Silverlight打印.不可行.似乎无法在不调用COM对象的情况下从.NET中将"raw"打印到Zebra,而且无法从纯Silverlight中获取.

  2. 从Silverlight中,将ZPL视为文件并将其复制到打印机.必须将本地打印机设置为共享.是否可以通过提升信任从Silverlight Out of Browser开始工作.但如果可行,我们希望避免使用浏览器.

  3. 如果Zebra打印机设置为使用Generic/Text驱动程序,我可以在Notepad.exe中打开一个ZPL文件,并使用File - > Print将ZPL发送到打印机.在这种情况下,Zebra打印机会将文本解释为ZPL指令而不是实际文本.有没有办法从浏览器"利用"这个?尝试过几种方法,比如简单地在浏览器中打开ZPL文件并执行文件 - >打印,但这似乎不起作用.还尝试从Javascript windows.print();

  4. 是否有其他插件(java applet,flash等)能够将Raw文本(例如ZPL)发送到Zebra打印机?

  5. 将ZPL转换为图像(或pdf:s).有没有这样的工具?

还有其他想法吗?

printing silverlight zpl

6
推荐指数
1
解决办法
8653
查看次数

.NET LocalReport / .rdlc AppDomain问题

我正在使用Microsoft.Reporting.WebForms.LocalReport和.rdlc报告文件来生成.pdf:s。这是在Windows服务(.NET 4.6,x64,VS2015)中在后台完成的。

我有两个问题:

  1. Windows服务不断消耗内存,最终抛出OutOfMemoryException并且进程终止
  2. 一次,整个WindowsSerivce都以UnhandledException终止,尽管所有内容都包含在try-catch语句中。

现在,我读到了.NET 4下的LocalReport已更改为可以在其自己的AppDomain中使用。

因此,当使用LocalReport时:

  • 您是否应该始终在每个localReport.Render()之后调用localReport.ReleaseSandboxAppDomain()?
  • 我是否需要做一些事情来处理LocalReport沙箱AppDomain中可能发生的任何异常?

.net c# rdlc localreport appdomain

5
推荐指数
0
解决办法
460
查看次数

Azure架构问题

请告诉我以下推理是否有效.

据我所知,当您构建Azure应用程序时,您会自下而上地构建它,并考虑到云(例如,数据库等资源在Azure应用程序中的处理比在旧的标准应用程序中处理得差).

这意味着您无法开始构建业务关键型Azure应用程序,然后最终决定以某种原因以旧式方式托管它(可能您对性能或其他方面不满意).

我能正确理解吗?

architecture azure

2
推荐指数
1
解决办法
819
查看次数

用.NET COM .dll替换本机C++ COM .dll

我们的客户拥有使用我们提供的本机C++ COM注册.dll的旧Win32客户端.

我们想用.NET版本替换原生.dll.所以我们已经构建了.NET DLL和COM注册它.我们有原生C++测试客户端能够处理从旧.dll到新的交换,但是...似乎我们需要重新编译它们才能工作.

有没有为什么我们需要重新编译测试客户端,还是我们做错了一些逻辑上的理由?

我们不能要求我们的客户重新编译他们的客户.

.net c++ com com-interop

1
推荐指数
1
解决办法
533
查看次数

标签 统计

.net ×3

com ×2

appdomain ×1

architecture ×1

azure ×1

c# ×1

c++ ×1

com-interop ×1

dll ×1

localreport ×1

printing ×1

rdlc ×1

silverlight ×1

zpl ×1