2

Document Imaging SDK を評価して、Visual Studio 2012 で単体テスト プロジェクトを作成して、いくつかのコード スニペットをチェックしようとしています。インストール ディレクトリ ' C:\LEADTOOLS 18\Bin\Dotnet4\Win32 ' から LeadTools dll を参照し、unt テスト プロジェクトの出力ディレクトリを同じディレクトリに指定しました (出力の隣にすべての LeadTools バイナリを配置するため)。しかし、単体テストを実行すると、次の例外が発生します。

テスト メソッド LeadTools.Evaluation.UnitTests.Snippets.PdfToTiffTest.PdfToTiffTest が例外をスローしました: Leadtools.RasterException: この機能を使用するには Raster PDF エンジンが必要です

この問題は、VSTest プロセスが「C:\LEADTOOLS 18\Bin\Dotnet4\Win32」の外で実行され、必要な LeadTools バイナリを見つけることができないことが原因であると思われます。

質問: LeadTools バイナリをテスト プロジェクトに参照する正しい方法は何ですか?

単体テスト コード:

using System.IO;
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Pdf;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace LeadTools.Evaluation.UnitTests.Snippets
{
    [TestClass]
    public class PdfToTiffTest
    {
        [TestMethod]
        public void PdfToTiffTest()
        {
            const string pdfPath = "C:\Samples\source.pdf";
            var tiffPath = Path.ChangeExtension(pdfPath, "tiff");

            // Load the input PDF document
            var document = new PDFDocument(pdfPath);
            using (var codecs = new RasterCodecs())
            {
                // Loop through all the pages in the document
                for (var page = 1; page <= document.Pages.Count; page++)
                {
                    // Render the page into a raster image
                    using (var image = document.GetPageImage(codecs, page))
                    {
                        // Append to (or create if it does not exist) a TIFF file
                        codecs.Save(image, tiffPath, RasterImageFormat.TifJpeg, 24, 1, 1, -1, CodecsSavePageMode.Append);
                    }
                }
            }
        }
    }
}
4

1 に答える 1

1

VS 2010 では、テスト設定でアセンブリを解決する場所を指定できました。VS 2012 でこれを行うには、このポストVisual Studio テスト チームによる単体テストのアセンブリ解決で説明されているように、App.config でそれを行うことができます。

app.config をテスト プロジェクトに追加し、そこに適切な < AssemblyResolution > の詳細を配置するだけです。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="TestExecution" type="Microsoft.VisualStudio.TestTools.Execution.TestExecutionSection, Microsoft.VisualStudio.QualityTools.ExecutionCommon, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </configSections>
  <TestExecution xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
    <AssemblyResolution>
      <RuntimeResolution>
        <Directory path="%ProgramFiles%\SampleApplication\" includeSubDirectories="true"/>
      </RuntimeResolution>
    </AssemblyResolution>
  </TestExecution>
</configuration>
于 2013-06-26T06:39:59.087 に答える