2

所以我已经在我的 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": {}
     }
 }
4

1 回答 1

1

我在论坛上找到了答案...

简而言之,您只能在 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 拖放到右侧(注意它确实需要放在 lib 目录中)。文件 -> 另存为... 将其保存在以下位置:

projectRoot\packages\Quartz.2.2.4.400\Quartz.2.2.4.400.nupkg

使用以下dll:

projectRoot\packages\Quartz.2.2.4.400\lib\Quartz.dll

注意。将 DLL 放在 lib 目录之外可以正常编译,但不适用于智能感知。如果您使用特定版本进行编译,那么我会将其放在 net45、net451 或 k10 文件夹中;因为我不是,所以我没有打扰。我的 project.json 然后看起来像:

{

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

    "configurations" : {

        "k10" : { 

            "dependencies": {

                "System.Console": "4.0.0.0"
            }

        }

    }

}
于 2014-10-25T08:26:09.593 回答