Можно ли скомпилировать C#, таким образом, ему не нужна Платформа.NET во времени выполнения?

используйте это $(this).text('Save').siblings().text('Edit'); в вашем jquery, это будет работать ...

$("body").on('click','.clk',function(){

        var edit_id=$(this).attr("data-id");
	    $(this).text('Save').siblings().text('Edit');
        /*if($(this).text()==='Edit'){
            $(this).text('Save');
        }
        else{
            $(this).text('Edit');
        }*/

    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a class="clk" data-id="1" >Edit</a>

<a class="clk" data-id="2" >Edit</a>

<a class="clk" data-id="2" >Edit </a>

<a class="clk" data-id="2" >Edit</a>

29
задан ferventcoder 24 July 2012 в 17:50
поделиться

6 ответов

Вы задаете загруженный вопрос. C# является просто языком и не требует Платформы.NET. Процесс компиляции его требует компилятора, который может или не может самостоятельно взять зависимость от Платформы.NET (компилятор Microsoft C# не делает - это записано в собственном коде). Ваша программа должна будет сослаться на некоторый блок, где типы, классы и методы могут быть найдены для Вашего использования. Вы можете удалять system.dll и mscorlib.dll из Вашего ссылочного списка и ссылаться на Ваши собственные блоки. Таким образом, можно избежать зависимостей от Платформы.NET, если Вы действительно работаете в ней. Но в конце, если у Вас нет компилятора C#, который компилирует программы в собственный код, у Вас все еще есть зависимость от CLR.

Это - очень технический способ... почти ничего не сказать. Но это отвечает на Ваш вопрос.:) Более практически полезный однако то, как заставить Ваши программы C# работать с минимумом зависимостей. mkbundle от моно на самом деле позволит Вам скомпилировать все это в .exe с фактически никакими зависимостями.

, Но если Вы хотите придерживаться Microsoft.NET Framework, можно достигнуть намного более легкого места и более быстрой установки зависимостей, Вам обычно нужны при помощи Клиентского профиля.NET 3,5 SP1. Можно читать об этом здесь: http://msdn.microsoft.com/en-us/library/cc656912.aspx

38
ответ дан Andrew Arnott 28 November 2019 в 01:09
поделиться

Взгляд mkbundle, использующий Моно.

14
ответ дан denis phillips 28 November 2019 в 01:09
поделиться

Смотрите на клиентский профиль.NET. Это позволит Вам упаковывать минимальную установку на клиентской машине.. который будет позже обновлен обновлением окон полной платформы.

Это зависит, конечно, на Вашем приложении, только пользующемся библиотеками, которые содержатся в клиентском профиле...

Некоторая информация здесь: http://blogs.windowsclient.net/trickster92/archive/2008/05/21/introducing-the-net-framework-client-profile.aspx

5
ответ дан markt 28 November 2019 в 01:09
поделиться

Это сказало, что это возможно, с помощью сторонних инструментов такой в качестве http://www.remotesoft.com/linker/

5
ответ дан ChrisW 28 November 2019 в 01:09
поделиться

Не возможный. Ваше "скомпилированное" приложение C# является языком, который.Net CLR интерпретирует (должен был сказать, что JITed, Чтения IL, компилирует в собственный код и затем вызывает скомпилированный собственный код) во времени выполнения.

к вашему сведению .net 2.0 является стандартной установкой на xp SP2 и перспективе, таким образом, Вы не будете платить так большую часть штрафа.

Вы могли изучить моно, но это все еще включает выполнение некоторой платформы на Вашей целевой машине.

1
ответ дан Spence 28 November 2019 в 01:09
поделиться

Некоторые функции C# связываются с интерфейсами платформы.NET.

, Например:

yield return требует, чтобы интерфейс IEnumerable

using (x) {} потребовал интерфейса IDisposable

-2
ответ дан Rauhotz 28 November 2019 в 01:09
поделиться