据我所知,Visual Studio 2015有一些更新,我们不能在asp.net 5应用程序中添加DLL,如果我们需要添加we need to make NuGet package and then install it.
现在我的问题是: -
1)如果我有一个包含两个类库的项目,那么如何在我的asp.net 5应用程序中添加该类库的引用(DLL)?
2)如果一个类库也处于开发模式,那么如果通过NuGet安装该DLL,那么如何在asp.net 5应用程序中更新该DLL,因为每次在NuGet上发布并获取最新版本需要更多时间。
3)假设我们需要使用NuGet添加所有DLL,那么私有DLL呢?
4)没有NuGet包管理器可以解决这个问题吗?
答案 0 :(得分:6)
快速回答 - 您不需要NuGet包,是的,可以引用您自己的库。
两种方式:
将它添加到project.json中的根级别“dependecies”对象中。请注意,此操作将向“框架”部分中列出的每个目标框架添加引用,因此,如果您添加对旧类型库的引用,则无法使用新的DNXCore 5.0
{
"webroot": "wwwroot",
"version": "1.0.0-*",
"dependencies": {
"Library": "1.0.0-*"
通过添加特定框架版本。哪个更灵活,因为您可以为DNX451使用旧类型的库,为DNXCore 5.0使用新的vNext类库
"frameworks": {
"dnx451": {
"dependencies": {
"ClassicLib": "1.0.0-*",
"vNextLib": "1.0.0-*",
}
},
"dnxcore50" : {
"dependencies": {
"vNextLib": "1.0.0-*"
}
}
} ....
我在Visual Studio 2015 RC上检查过的所有样本。
答案 1 :(得分:3)
您可以将旧类库Foo.csproj添加到Bar.xproj作为参考,但不能直接添加,请参阅下面的说明。无需在Beta8中上传软件包即可完成。
dnv wrap Foo.csproj
。Foo/wrap/Foo/project.json
。转到Visual Studio中的解决方案Add -> Existing project -> project.json
。Foo.xproj
,但它不会构建。dnu restore
。dnu restore
。我真的希望在最终版本中这会更容易。
答案 2 :(得分:2)
我已经编辑了我之前的回答,指出您在StackOverflow上的以下答案:
https://jsfiddle.net/mghs52my/
如果您需要引用其他类库的前端项目是ASP.NET 5 MVC 6 beta6,我可以验证有效的答案。
答案 3 :(得分:1)
您需要为程序集创建project.json。 你可以使用命令:
kpm wrap "c:\path\to.csproj"
这将在解决方案根文件夹中创建一个“wrap”文件夹。然后,您必须能够添加对项目的引用。如果它不起作用,请尝试在项目目录中移动project.json。
要使用kpm(K Package Manager),您需要安装“k”和“dnx”工具并安装活动版本。
如果kpm命令不起作用,请执行以下操作:
1)以管理员身份打开PowerShell并输入此命令以允许powershel下载并安装该软件包:
Set-ExecutionPolicy RemoteSigned
2)使用admin right打开cmd,然后输入以下命令来安装软件包:
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "&{$Branch='dev';iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.ps1'))}"
3)在cmd中,您可以使用以下命令更新和设置environement varriables:
dnvm upgrade
然后再次尝试“kpm wrap”命令
之后,您将能够添加对项目的引用。但我认为它不适用于核心。如果您有问题,请尝试使用其他dnvm版本(如beta2或“2 1.0.0-beta5”)和命令dnvm install,如下所示:
dnvm install 1.0.0-beta4-11566