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;
示例程序(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:命令行选项来指定要在其中搜索引用的其他目录。