Как указать информацию о сборке при компиляции кода во время выполнения с библиотекой cs-script? - PullRequest
1 голос
/ 21 июня 2019

Я создаю сборку во время выполнения с помощью CSScriptLibrary.Все работает нормально, но моя полученная сборка не имеет необходимой информации о сборке.

Если я включу атрибуты информации о сборке (найденные в AssemblyInfo.cs в каждом проекте C #) в строку кода, то компиляция завершится с «ошибкой дублированного атрибута».

Вот код, с помощью которого я создаю свою сборку:

try
{                
      compiledResultAssembly = CSScriptLibrary.CSScript.LoadCode(code, assemblyReferences.ToArray());                
}
catch(Exception ex)
{ }

Как указать версию сборки, чтобы «compiledResultAssembly» не был в версии 0.0.0.0?

Версия CSScriptLibrary: 3.11.1.0.

Заранее спасибо


Редактировать 08.07.2019

Я нашел решение,CSScriptLibrary вставляет атрибут AssemblyDescription в некоторый момент, что вызывает ошибку «дубликата атрибута».

Чтобы указать информацию о версии сборки, просто используйте следующую настройку вашего сценария:

using System.Reflection;
using System.Runtime.InteropServices;
// all your usings

[assembly: AssemblyVersion("1.2.3.4")]
[assembly: AssemblyFileVersion("1.2.3.4")]

namespace YourNamespace
{
    // your code here
}

Обратите внимание, что атрибуты сборки должны быть первыми в вашем коде и не могут быть размещены где-либо еще.

...