Visual studio 2015 如何在MVC6中使用标准类库?
在MVC6中包含标准类库是否有一种合理方便的方法?我认为标准的addreference对话框可以创建一个包装器,但我没有任何运气。将其发布为nuget包对于正在进行的开发调试来说似乎非常不方便Visual studio 2015 如何在MVC6中使用标准类库?,visual-studio-2015,asp.net-core,asp.net-core-mvc,Visual Studio 2015,Asp.net Core,Asp.net Core Mvc,在MVC6中包含标准类库是否有一种合理方便的方法?我认为标准的addreference对话框可以创建一个包装器,但我没有任何运气。将其发布为nuget包对于正在进行的开发调试来说似乎非常不方便 如果没有包装器,是否有内置的方法将标准类库转换为新类型 到目前为止,我已经看到了几种不同的方法(使用dnu实用程序或使用VS添加引用)。根据您是要引用现有程序集还是要引用解决方案中的非asp 5项目,它也略有不同 如果要添加对不属于解决方案一部分的现有程序集的引用: 使用dnu wrap命令添加引用。您
如果没有包装器,是否有内置的方法将标准类库转换为新类型 到目前为止,我已经看到了几种不同的方法(使用
dnu
实用程序或使用VS添加引用)。根据您是要引用现有程序集还是要引用解决方案中的非asp 5项目,它也略有不同
如果要添加对不属于解决方案一部分的现有程序集的引用:
- 使用
命令添加引用。您可以打开开发人员命令提示符并导航到解决方案文件夹,甚至更简单,只需在visual studio中打开package manager控制台即可 现在,如果要添加对dnu wrap
的引用,将运行以下命令(其中包装程序集时需要framework参数,并定义为要包装的程序集的目标框架): 这将生成/更新asp 5解决方案文件夹中的wrap文件夹,包括一个类似以下内容的文件fullpathtoyerdll\Foo.dll
:mySolution\wrap\Foo\project.json
最后,更新asp 5的project.json文件,以包含对包装程序集的引用,如所示:{ "version": "1.0.0-*", "frameworks": { "net451": { "bin": { "assembly": "../../../FooSln/Foo/bin/Debug/Foo.dll", "pdb": "../../../FooSln/Foo/bin/Debug/Foo.pdb" } } } }
"frameworks": { "dnx451": { "dependencies": { "Foo": "1.0.0-*", } } },
"frameworks": { "dnx451": { "dependencies": { "MyNonAsp5Project": "1.0.0-*", } } },
- 或者,使用VS。右键单击ASP 5项目中的引用,选择添加引用。。。然后点击浏览。现在导航到包含程序集的文件夹并选择dll文件
Visual studio将为您更新wrap文件夹(创建
),甚至会在project.json(asp 5项目中的一个)中添加依赖项mySolution\wrap\Foo\project.json
- 使用
命令添加引用 该过程与前面向现有程序集添加引用的场景非常相似。现在,如果要在解决方案中添加对非asp 5项目的引用,将运行以下命令:dnu wrap
与向现有程序集添加引用时一样,这将生成/更新asp 5解决方案文件夹中的wrap文件夹,尽管这次文件dnu wrap ".\myNonAsp5Project\MyNonAsp5Project.csproj"
略有不同,因为它是在包装项目而不是程序集:mySolution\wrap\MyNonAsp5Project\project.json
同样,您需要手动更新asp 5的project.json文件,以包含对包装程序集的引用,如下所示:{ "version": "1.0.0-*", "frameworks": { "net451": { "wrappedProject": "../../MyNonAsp5Project/MyNonAsp5Project.csproj", "bin": { "assembly": "../../MyNonAsp5Project/obj/{configuration}/MyNonAsp5Project.dll", "pdb": "../../MyNonAsp5Project/obj/{configuration}/MyNonAsp5Project.pdb" } } } }
"frameworks": { "dnx451": { "dependencies": { "Foo": "1.0.0-*", } } },
"frameworks": { "dnx451": { "dependencies": { "MyNonAsp5Project": "1.0.0-*", } } },
- 或者,使用VS。在ASP 5项目中的引用上单击鼠标右键,选择“添加引用…”。。。。现在展开左侧的项目,选择该项目并单击“确定”
Visual studio将更新wrap文件夹(创建
),甚至将在project.json(asp 5项目中的一个)中添加依赖项mySolution\wrap\MyNonAsp5Project\project.json
另外,我最近一直在升级到Win10并安装/卸载一些东西,不知何故,我最终得到了一个环境变量Platform=MCD。这将被MSBuild作为默认平台,可能会给您带来一些麻烦。具体地说,在运行用于包装csproj文件的
dnu wrap
命令时,我遇到了错误无法解析引用。(因为它使用msbuild解析csproj引用)。非常详细的答案-非常感谢!