在使用最新版本的roslyn-ctp时,我发现它dynamic在编译和脚本执行时不支持关键字,即你将得到一个编译错误error CS8000: This language feature ('dynamic') is not yet implemented in Roslyn.这是一个简短的代码片段:
var engine = new ScriptEngine();
var script = @"dynamic someVariable = 0;";
// you an error CS8000: This language feature ('dynamic') is not yet implemented in Roslyn
engine.CreateSession().Execute(script);
Run Code Online (Sandbox Code Playgroud)
使用await关键字时......
相反,await在编译或脚本中使用关键字时,我通常会遇到一些随机编译错误,如下所示:
error CS1001: Identifier expectederror CS1003: Syntax error, ',' expectederror CS0246: The type or namespace name 'await' could not be found (are you missing a using directive …我正在研究我的项目的常量集,我想使用roslyn在源代码级别验证它们中的一些.要做到这一点,我加载使用下面的片段到整个解决方案与应用程序域IsFullyTrusted == true和IsHomogenous == true,即远程启动与x86平台的目标:
// load workspace, i.e. solution from Visual Studio
var workspace = Roslyn.Services.Workspace.LoadSolution(solutionFile);
Run Code Online (Sandbox Code Playgroud)
但是当使用ncrunch 1.45或nunit 2.6.2 nunit-console-x86.exe以及平台配置x86作为测试运行时,我会不断得到以下内容System.Security.SecurityException:
System.Security.SecurityException : Type System.Runtime.Remoting.ObjRef and the types derived from it (such as System.Runtime.Remoting.ObjRef) are not permitted to be deserialized at this security level.
Server stack trace:
at System.Runtime.Serialization.FormatterServices.CheckTypeSecurity(Type t, TypeFilterLevel securityLevel)
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.CheckSecurity(ParseRecord pr)
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObject(ParseRecord pr)
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Parse(ParseRecord pr)
at …Run Code Online (Sandbox Code Playgroud) 我正在使用PostSharp 2.1.5.1并在今天发出警告:
在将来的版本中,将从简化版禁用Aspect依赖项(在"MyNamespace.MyAspect.MyVerificationAttribute"上定义).请改用AspectPriority属性.
在我看来,以下行引起了警告:
[AspectRoleDependency(AspectDependencyAction.Order, AspectDependencyPosition.After, StandardRoles.Tracing)]
Run Code Online (Sandbox Code Playgroud)
有人能指出我如何使用的正确例子AspectPriority吗?以下示例是最新的吗?
http://www.sharpcrafters.com/blog/post/introducing-postsharp-2-0-3-aspect-dependencies.aspx("旧优先级优先"一节)
http://www.sharpcrafters.com/blog/post/Day-3-Applying-Aspects-with-Multicasting-Part-2.aspx("Aspect Priority"部分)
谢谢.
比方说,我有以下简化类型:
public class Model
{
public decimal? Result { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如何使用CodeDOM表示空合并运算符来生成C#代码,它有可能吗?现在我正在使用以下解决方法:
new CodePropertyReferenceExpression(
new CodePropertyReferenceExpression(modelArgument, "Result"),
"Value"))
Run Code Online (Sandbox Code Playgroud)
这等于model.Result.Value,但不是model.Result ?? 0M
CodeExpressionequalent到model.Result.GetValueOrDefault(0M)适合于空值类型
new CodeMethodInvokeExpression(
new CodeMethodReferenceExpression(
new CodePropertyReferenceExpression(modelArgument, "Result"),
"GetValueOrDefault"),
new [] { new CodePrimitiveExpression(0m) })),
Run Code Online (Sandbox Code Playgroud) 我是一个独立的开发人员,Pluralsight是我帮助我理解Repository和IoC之类的东西,我正在学习.但是我发现这种模式很难使用.
所以我使用Unity IoC,然后ModelContainer上课;
public static class ModelContainer
{
private static IUnityContainer instance;
static ModelContainer()
{
instance = new UnityContainer();
}
public static IUnityContainer Instance
{
get
{
instance.RegisterType<ISCD_CallDiaryRepository, SCD_CallDiaryRepository>(new HierarchicalLifetimeManager());
instance.RegisterType<ICompanyRepository, CompanyRepository>(new HierarchicalLifetimeManager());
instance.RegisterType<ISubcontractorRepository, SubcontractorRepository>(new HierarchicalLifetimeManager());
instance.RegisterType<ITradeRepository, TradeRepository>(new HierarchicalLifetimeManager());
instance.RegisterType<IEmployeeRepository, EmployeeRepository>(new HierarchicalLifetimeManager());
instance.RegisterType<ISubcontractorTradeRepository, SubcontractorTradeRepository>(new HierarchicalLifetimeManager());
instance.RegisterType<ICountyRepository, CountyRepository>(new HierarchicalLifetimeManager());
instance.RegisterType<IAddressLineRepository, AddressLineRepository>(new HierarchicalLifetimeManager());
return instance;
}
}
}
Run Code Online (Sandbox Code Playgroud)
允许我在我的控制器的构造函数中实例化存储库类;
public SubcontractorController(
ISubcontractorRepository subcontractorRepository,
ISubcontractorTradeRepository subcontractorTradeRepository,
ICompanyRepository companyRepository,
ISCD_CallDiaryRepository scdCallDiaryRepository,
ITradeRepository tradeRepository,
IAddressLineRepository addressLineRepository)
{
this.SubcontractorRepository = subcontractorRepository;
this.SubcontractorTradeRepository = subcontractorTradeRepository; …Run Code Online (Sandbox Code Playgroud) c# ×3
roslyn ×2
.net ×1
aop ×1
appdomain ×1
asp.net-mvc ×1
async-await ×1
c#-5.0 ×1
codedom ×1
ncrunch ×1
nunit ×1
postsharp ×1
repository ×1