Nant <csc>build exe System.TypeInitializationException - PullRequest
1 голос
/ 06 ноября 2010

Я успешно строю несколько проектов, используя < csc target="exe">.Однако, когда я пытаюсь запустить сгенерированный exe-файл, я получаю:

Unhandled Exception: System.TypeInitializationException: The type initializer for 'Quartz.Impl.StdSchedulerFactory' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Common.Logging, Version=1.2.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e' or one of its dependencies. The system cannot find the file specified.
File name: 'Common.Logging, Version=1.2.0.0, Culture=neutral, PublicKeyToken=af0
8829b84f0328e'
   at Quartz.Impl.StdSchedulerFactory..cctor()

Похоже, что Nant ссылается на DLL при сборке, но не копирует зависимости в outputdir, что приводит к приведенному выше исключению времени выполнения.Есть ли способ поручить NAnt автоматически копировать зависимости?Утомительно запускать exe несколько раз, чтобы выяснить, какие зависимости нужны, и <скопировать> их в файл outputdir одну за другой.

Ответы [ 2 ]

1 голос
/ 06 ноября 2010

Это добавит ссылку на проект

<references basedir="References">
    <include name="Common.Logging.dll" />
</references>

Это может быть использовано для копирования DLL в выходной каталог.Вы также можете использовать подстановочный знак для включения всех DLL.

<copy todir="${build.dir}">
    <fileset basedir="bin">
        <include name="Common.Logging.dll" />
    </fileset>
</copy>
0 голосов
/ 16 ноября 2010

утомительно, тогда.<copy> <copy> <copy>

...