2015-09-30 31 views
1

如何在C#.exe中包含外部程序集.dll?我特別使用.NET 4.0的MySql連接器。C#:包括沒有Visual Studio的程序集

請注意,我目前沒有使用Visual Studio,也不打算爲了完成此操作。這裏是我編譯時得到的錯誤:CS0246:無法找到類型或名稱空間MySql(您是否缺少使用指令或程序集引用?)

我試過了: - 將.dlls複製到源代碼中該項目的文件夾。 - 視窗

下複製的.dll到.NET文件夾

前三行代碼:

using System; 
using MySql; 
using MySql.Data; 
+1

引用還添加到項目和解決方案文件中,這是一個很難編輯的問題。這是可能的,但你是更好使用VS – rmn36

+0

以防萬一你不能使用VS,只需嘗試SharpDevelop([鏈接](http://www.icsharpcode.net/)) – Caverna

回答

1

示例程序(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 TestApp.csproj /t:Build 

微軟的指南編寫自己的MSBuild文件運行的MSBuild。 https://msdn.microsoft.com/en-us/library/dd576348.aspx

CSC任務的詳細信息 https://msdn.microsoft.com/en-us/library/s5c8athz.aspx

+0

謝謝Darryl。發佈這個問題後,我開始使用MSBuild而不僅僅是csc。您對附加庫和參考文獻的幫助有所幫助。 – cjriii

0

可以使用/引用(或/ R)命令行選項:

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

假設,如你所說,你已經複製了MySQL。 Data.dll放入項目的源文件夾中。

如果您尚未將動態鏈接庫複製到源文件夾,那麼可以使用/ lib:命令行選項來指定其他目錄以搜索引用。