Скомпилирование проблем с РослинC#

Место общения программистов C#
Ответить
Anonymous
 Скомпилирование проблем с Рослин

Сообщение Anonymous »

Я хочу динамически компилировать классы моделей для моего приложения EF Core.

Код: Выделить всё

using head.de;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace head.de
{
public class FilterWeighingTypes
{
[Required]
public int FilterWeighingTypeId { get; set; }

[Key]
[Required]
[StringLength( 50 )]
public char WeighingTypeName { get; set; }
}
}
< /code>
Мой код для компиляции выглядит так: < /p>
mdrModelReference.Add( MetadataReference.CreateFromFile( typeof( RequiredAttribute ).Assembly.Location ) );
mdrModelReference.Add( MetadataReference.CreateFromFile( typeof( Guid ).Assembly.Location ) );
mdrModelReference.Add( MetadataReference.CreateFromFile( typeof( Object ).Assembly.Location ) );

strModelContent = File.ReadAllText( model );
sxtModelSchema = CSharpSyntaxTree.ParseText( strModelContent );

cscCompiler = CSharpCompilation.Create(
model,
new[] { sxtModelSchema },
mdrModelReference,
new CSharpCompilationOptions( OutputKind.DynamicallyLinkedLibrary )
);

flsCompileStream = new FileStream( model + ".dll", FileMode.Create, FileAccess.Write );
emrCompileResult = cscCompiler.Emit( flsCompileStream );
< /code>
Этот код находится в одном и том же пространстве имен и фактически встроен в петлю Foreach и должен впоследствии собрать второй класс модели. Другой класс выглядит так: < /p>
using head.de;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace head.de
{
public class FilterWeighings
{
[Key]
[Required]
public Guid FilterId { get; set; }

[Required]
public double WeighingValue { get; set; }

public string WeighingTypeName { get; set; }

[ForeignKey( "WeighingTypeName" )]
public FilterWeighingTypes FilterWeighingType { get; set; }

[Required]
public DateTime WeighingTime { get; set; }
}
}
Выполнение этого кода генерирует ошибку CS8203 и CS0246 для FilterWeighingTypes .

Подробнее здесь: https://stackoverflow.com/questions/797 ... ith-roslyn
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»