c#:包括没有visual studio的程序集

本文关键字:studio 程序集 visual 包括没 | 更新日期: 2023-09-27 18:15:14

如何在c# .exe中包含外部程序集.dll ?我正在专门研究。net 4.0的MySql连接器。

请注意,我现在没有使用Visual Studio,也不打算使用它来完成这个任务。以下是我编译时得到的错误:CS0246:无法找到类型或名称空间MySql(您是否缺少using指令或程序集引用?)

我试过了:将.dll文件复制到项目的源文件夹中。-将。dll拷贝到Windows

下的。net文件夹中

前三行代码是:

using System;
using MySql;
using MySql.Data;

c#:包括没有visual studio的程序集

示例程序(Program.cs)

using System;
using MySql.Data.MySqlClient;
namespace TestApp
{
    internal class Program
    {
        private static void Main(string [] args)
        {
            Console.WriteLine("Hello world!");
            var command = new MySqlCommand();
            Console.WriteLine(command.ToString());
        }
    }
}
项目文件(TestApp.csproj)
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
  <Compile Include="Program.cs" />
</ItemGroup>
<Target Name="Build">
    <Csc Sources="@(Compile)" AdditionalLibPaths="lib" References="MySql.Data.dll">
    </Csc>
</Target>
</Project>

MySql.Data.dll在lib文件夹中从命令行运行msbuild

msbuild TestApp.csproj /t:Build

Microsoft编写自己的msbuild文件的指南。https://msdn.microsoft.com/en-us/library/dd576348.aspx

csc任务详细信息https://msdn.microsoft.com/en-us/library/s5c8athz.aspx

您可以使用/reference(或/r)命令行选项:

csc yourcode.cs /r:MySql.Data.dll

假设,如您所说,您已经将MySql.Data.dll复制到项目的源文件夹中。

如果您还没有将动态链接库复制到源文件夹中,那么您可以使用/lib:命令行选项来指定要在其中搜索引用的其他目录。

相关文章: