C# vNext can';在引用的包中看不到命名空间
Program.csC# vNext can';在引用的包中看不到命名空间,c#,asp.net,roslyn,asp.net-core,C#,Asp.net,Roslyn,Asp.net Core,Program.cs using System; using RazorEngine; namespace ConsoleApp1 { public class Program { public static void Main(string[] args) { string template = "Hello @Model.Name! Welcome to Razor!"; string resu
using System;
using RazorEngine;
namespace ConsoleApp1
{
public class Program
{
public static void Main(string[] args)
{
string template = "Hello @Model.Name! Welcome to Razor!";
string result = Razor.Parse(template, new { Name = "World" });
Console.WriteLine(result);
Console.WriteLine("Press enter to exit.");
Console.ReadLine();
}
}
}
project.json
{
"version": "1.0.0-*",
"dependencies": {
"RazorEngine": "3.4.2"
},
"commands": {
"run": "run"
},
"frameworks": {
"aspnet50": {},
"aspnetcore50": {
"dependencies": {
"System.Console": "4.0.0-beta-*"
}
}
}
}
当我运行kpmbuild
时,我得到了这个输出(仅包括相关信息)
为什么即使正确地拉下RazorEngine NuGet包,并且
RazorEngine
名称空间存在,我也会得到这个编译错误?我注意到,即使我得到了那个编译错误,如果我运行k run
,它也会正常运行。因此,我意识到aspnetcore50
框架无法构建,但我并不真正关心这一点,而且aspnet50
框架编译得很好。因此,我修改了project.json文件以删除该框架,它成功了
{
"version": "1.0.0-*",
"dependencies": {
"RazorEngine": "3.4.2"
},
"commands": {
"run": "run"
},
"frameworks": {
"aspnet50": {}
}
}
若您仔细观察Razor.Parse方法,它会说以下内容 它适用于asp.net 5.0,但不适用于core 现在,如果从project.json中删除framework,那么它就可以工作了
{
"version": "1.0.0-*",
"dependencies": {
"RazorEngine": "3.4.2"
},
"commands": {
"run" : "run"
},
"frameworks" : {
"aspnet50" : { }
}
}
RazorEngine.Core是否列在你的参考资料中?如果是这样的话,是用黄色还是红色的斜线划线?@JohnKoerner No。我所有的参考资料都列在上面。如果查看,
Razor
类不在RazorEngine.Core
命名空间中(尽管它在该文件夹中)。我甚至没有在该项目中看到RazorEngine.Core
名称空间。RazorEngine.Core是DLL的名称,而不是名称空间的名称。@JohnKoerner我试图将RazorEngine.Core
添加为依赖项,但无法找到RazorEngine.Core>=3.4.2
。如果RazorEngine.Core
是RazorEngine
的依赖项,那么kpm restore
是否会自动将其拉入?谢谢,这是正确的。我比你早一点得出那个结论。然而,我没有方便的智能感知来告诉我这一点,因为我目前正在Mac上开发。使用命令行和升华文本。太好了。如果对你有用的话。Commandline很棒,它提醒了我,当我的内存有限的时候,我仍然需要编译C#程序。我想在MAC上探索vnext,但我没有:)使用OS X很好(我使用的是一台将近7年的MacBook),但它确实让你怀念Visual Studio。嘿,我们在Mac、iOS和Android上安装了Office。也许下一个微软会决定在OSX上做VS!
{
"version": "1.0.0-*",
"dependencies": {
"RazorEngine": "3.4.2"
},
"commands": {
"run" : "run"
},
"frameworks" : {
"aspnet50" : { }
}
}