Возникла проблема, при компиляции динамического кода не могу поставить версию фреймворка.
Зависимости:
using Microsoft.CodeDom.Providers.DotNetCompilerPlatform;
using System.CodeDom.Compiler;
Вот код компиляции:
private static readonly Dictionary<string, string> ProviderOptions = new Dictionary<string, string>
{
{ "CompilerVersion", "v4.0" }
};
using (var provider = new CSharpCodeProvider())
{
.. setting compile
CompilerResults ResultLog = provider.CompileAssemblyFromSource(Params, SourceCode);
}
Пробую добавить так:
using (var provider = new CSharpCodeProvider(ProviderOptions))
Или даже так:
using (var provider = new CSharpCodeProvider((ICompilerSettings)ProviderOptions))
Но получаю ошибку:
System.InvalidCastException: Не удалось привести тип объекта "System.Collections.Generic.Dictionary`2[System.String,System.String]" к типу "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.ICompilerSettings".
В отличие от CodeDom в котором можно ставить так версию в Roslyn почему-то не получается, как решить ?
За выбор фреймворка отвечает свойство CoreAssemblyFileName класса CompilerParameters. В нем должен быть путь к mscorlib или заменяющей ее библиотеке.
Если оно пусто - берется текущая версия фреймворка.
Вот так, к примеру, можно скомпилировать сборку для фреймворка 2.0:
Params.CoreAssemblyFileName = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.Windows),
@"Microsoft.NET\Framework\v2.0.50727\mscorlib.dll"
);
При необходимости, референсные сборки для всех фреймворков можно найти в одной из этих двух папок если у вас стоит MS Build Tools (а они у вас точно стоят, чем-то же вы свой проект собираете):
C:\Program Files\Reference Assemblies\Microsoft\Framework\
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Делаю Web приложение, которое должно пускать в некоторые свои части пользователя через клиент-приложениеРешил использовать для этого JWT
Есть Web приложение с использованием JWT токенаСайт отдает Access и Refresh токены
Подскажите, как прокрутить HScrollBar в Panel таким образом, чтобы при наведении мыши в Panel активировался HScrollBar и ролик мыши мог им управлять?
Подскажите как прокрутить Panel (роликом мыши) через AutoScroll широким шагом, чтобы ширина Panel делилась на две частиК примеру ширина Panel до сужения...