如何在asp.net vNext中添加对单声道程序集的引用

时间:2014-08-01 06:43:47

标签: mono asp.net-core

所以我已经在我的Linux机器上安装了Asp.net vNext并且一直在玩它。我已经完成了所有设置并可以构建和运行mvc应用程序。我正在构建一个控制台应用程序,需要引用NuGet中不存在的程序集。我想在我的project.json中添加对Mono.Data.SqliteClient的引用。我知道程序集的路径/usr/local/lib/mono/4.5/Mono.Data.Sqlite.dll。

如何添加对dll的引用?我的project.json文件目前看起来像这样:

 {
     "dependencies": {
       "System.Console": "4.0.0.0",
       "Dapper":"1.27",
       "Mono.Data.Sqlite":""
     },
     "configurations": {
       "net45": {},
       "k10": {}
     }
 }

1 个答案:

答案 0 :(得分:1)

我在forum ...

上找到了答案

简而言之,如果他们在nuget包内,你只能参考你的dll ...(我希望这会得到改善。这是一个麻烦的IMO。)

长篇故事:

好的,在经过大量的讨论之后,似乎这样做的方法是使用DLL创建一个nuget包(我将以Quartz 2.2.4.400为例)。

使用http://docs.nuget.org/docs/creating-packages/using-a-gui-to-build-packages来构建它。将Quartz.dll拖放到右侧(nb。它确实需要放在lib目录中)。档案 - >另存为...将其保存在以下位置:

projectRoot \包\ Quartz.2.2.4.400 \ Quartz.2.2.4.400.nupkg

使用以下dll:

projectRoot \包\ Quartz.2.2.4.400 \ lib中\的Quartz.dll

NB。将DLL放在lib目录之外将编译正常,但不能与intellisense一起使用。如果您正在使用特定版本进行编译,那么我将它放在net45,net451或k10文件夹中;因为我不是,我没有打扰。我的project.json然后看起来像:

{

    "dependencies": {
        "Quartz" : "2.2.4.400"
    },

    "configurations" : {

        "k10" : { 

            "dependencies": {

                "System.Console": "4.0.0.0"
            }

        }

    }

}