CodeDom编译器不使用可执行目录进行程序集引用

时间:2010-07-19 14:12:12

标签: .net codedom

我有一个CodeDom设置,需要引用可执行文件目录中的某些程序集。但是,似乎只搜索工作目录和GAC以查找这些程序集,而不是可执行目录。

var compilerOptions = new CompilerOptions {
    ReferencedAssemblies = {
        "System.dll",
        "System.Core.dll",
        "Assembly0.dll",
        "Assembly1.dll"
    }
};

C#编译器将搜索:

  1. 申请工作目录
  2. GAC
  3. 无论出于何种原因,它都不会在执行目录中搜索Assembly0.dll和Assembly1.dll。

1 个答案:

答案 0 :(得分:2)

“执行目录”仅与您的进程相关,而不是与csc.exe进程相关。只需生成程序集引用的完整路径。易于使用System.Reflection.Assembly.GetEntryAssembly()。位置