1. Скомпилированная сборка от ОАО
Я скомпилировал то, что предназначено для клиентского JavaScript, используя JScript-компилятор (jsc.exe) на стороне сервера, пытаясь создать что-то, что можно протестировать из проекта модульного тестирования, и, возможно, даже то, что может быть отлажен на стороне сервера.
Скомпилированный файл содержит только функции следующим образом (только для примера) и прекрасно компилируется в BitField.exe. Обратите внимание, что в исходном коде нет класса-оболочки или пакета.
------ НАЧАТЬ ФАЙЛ (BitField.js) -------
function BitField(){
this.values = [];
}
// more functions ...
------- КОНЕЦ ФАЙЛА -------
jsc /fast- /out:BitField.exe Bitfield.js
Результат в сборке BitField.exe.
Удачи! Ну вроде ...
2. Узел тестирования / точка доступа?
Во-вторых, я создал тестовый проект (в C #) и на него ссылаются в сборке BitField.exe. (Тип проекта не имеет значения, но я предоставляю больше описания, чтобы нарисовать полную картину.)
Кажется, проблема в следующем: Я не могу найти пространство имен или точку, в которой я могу получить доступ к функциям BitField внутри сборки BitField.exe из моего проекта C # test . Сборка не кажется "нормальной".
Другими словами мне нужно в C #
using ???WHAT???
Примечание : я не хочу использовать «расширения» JScript, то есть ключевые слова, которые не будут выполняться на стороне клиента (в веб-браузере), например, class
, package
и т.д., потому что я хочу, чтобы код был максимально чистым для копирования и вставки обратно в среду сценариев на стороне клиента (независимо от того, что «чистый» код прекрасно компилируется с помощью jsc.exe без использования этих расширений). Когда я пытаюсь обернуть функции в package
и class
, он начинает выдавать ошибки компиляции, так что это еще одна причина не использовать их - потому что они, похоже, заставляют меня изменить мой код.
Есть предложения, как использовать функции скомпилированной сборки JScript (путем ссылки на нее в другой сборке), если в ней нет явных контейнеров?
Обновление / Доказательство
.NET Reflector view