1

我正在使用带有以下命令的批处理文件来成功编译 C# 代码,运行生成的 exe 并删除 exe。

start /wait C:\WINDOWS\Microsoft.NET\Framework\v3.5\csc.exe /out:PostillionOutgoing.exe PostillionOutgoing.cs  /reference:AlexPilotti.FTPS.Client.dll
call  SetupCI.bat
start /wait PostillionOutgoing.exe
del PostillionOutgoing.exe

它完全按照我想要的方式工作。文件AlexPilotti.FTPS.Client.dll与 .cs 文件位于同一文件夹中。

AlexPilotti.FTPS.Client.dll许多其他类似的应用程序也需要该组件。我的问题是,是否有任何集中的地方可以保存此 DLL,以便上述所有批处理脚本都能找到它?通过这种方式,我不必在所有单独的文件夹中保留此 DLL 的副本。

我不想将 DLL 放在 GAC 中。我也在 system32 文件夹中尝试过,但它没有用。

4

2 回答 2

1

根据文档,运行时在探测程序集时没有使用固定位置(即,当它查看目录时,因为它已经无法找到程序集)。

但是,如果您的程序集是强命名的,那么您可以在您的程序中使用<codeBase>配置元素app.config将运行时定向到您选择的任何路径。

如果您的程序集没有强命名并且您不想使用app.config那么不幸的是您没有选择。

于 2013-02-27T13:16:22.577 回答
1

您可以使用 /lib 命令行来指定参考的搜索文件夹

在此处查看 msdn 文档http://msdn.microsoft.com/en-us/library/vstudio/s5bac5fx.aspx

于 2013-02-27T13:17:36.747 回答