CreateFontPackageがスタックを不安定にしています。

コンピューター

デバッグ記録

開発環境

OS Windows 11 Pro

言語 VB.NET ( Visual Studio 2019 )

その他 Microsoft.ReportingServices.ReportViewerControl.Winforms 150.1484.0

    Visual Studio 用の Microsoft RDLC レポート 15.3.1

対象コード(抜粋)

           'バイト型配列の内容を ファイルに書き込む 上書き 
                Dim bs As Byte() = RpvPublish.LocalReport.Render("PDF")
                Dim fl As String = $"{PublishFolder}A{CLng(row.Cells("ArtistId").Value):00000}"
                fl += $"W{CLng(row.Cells("ArtworkId").Value):00000}.pdf"
                Using fs As New IO.FileStream(fl, IO.FileMode.Create, IO.FileAccess.Write)
                    fs.Write(bs, 0, bs.Length)
                End Using

エラー内容

MicrosoftRDLCレポートで作成したレポートをPDF出力するコードで例外がスローされる。レポートには「BIZ UD ゴシック」を使用して作成していた。

マネージド デバッグ アシスタント ‘PInvokeStackImbalance’ : ‘PInvoke 関数 ‘Microsoft.ReportViewer.Common!Microsoft.ReportingServices.Rendering.ImageRenderer.FontPackage::CreateFontPackage’ がスタックを不安定にしています。PInvoke シグネチャがアンマネージ ターゲット シグネチャに一致していないことが原因として考えられます。呼び出し規約、および PInvoke シグネチャのパラメーターがターゲットのアンマネージ シグネチャに一致していることを確認してください。’

対応

該当プロジェクトはdll(クラスライブラリ.NetFramework)の為、呼び出し元のexe(Windowsフォームアプリケーション.NetFramework)のプロパティを開き、コンパイルタブの32ビットを優先のチェックを外す。

結果

正常動作を確認。

感謝

コメント

タイトルとURLをコピーしました