Отличный проект by @sindresorhus, называемый sort-keys, который работает потрясающе.
Здесь вы можете проверить его исходный код:
https://github.com / sindresorhus / sort-keys
Или вы можете использовать его с npm:
$ npm install --save sort-keys
Вот примеры кода из его readme
const sortKeys = require('sort-keys');
sortKeys({c: 0, a: 0, b: 0});
//=> {a: 0, b: 0, c: 0}
sortKeys({b: {b: 0, a: 0}, a: 0}, {deep: true});
//=> {a: 0, b: {a: 0, b: 0}}
sortKeys({c: 0, a: 0, b: 0}, {
compare: (a, b) => -a.localeCompare(b)
});
//=> {c: 0, b: 0, a: 0}
добавить в web.config
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5" />
<providerOption name="WarnAsError" value="false" />
</compiler>
</compilers>
</system.codedom>
Синтаксис допустим. И можно установить различные модификаторы доступа. Вы не находитесь в Интерфейсе, Вы? И класс, в котором они находятся, не абстрактен, это?
Кроме того, не имеет значения, для чего v. из платформы Вы нацелены, потому что это - функция компилятора. VS2008 реализует свойство w/запоминающие устройства для Вас.
Ваш код действителен - он должен хорошо работать. Войдите к страницам свойств Вашего проекта и удостоверьтесь, что "Целевой Платформой" является.NET 3.0 или 3.5.
Вы корректны; тот стиль позволяется.
Я изучил бы стандартные блоки, на которые ссылаются. Я не уверен, который необходимо было бы заставить это компилировать, но я фигурирую несколько, что Вы указываете на версию.Net v2.0 csc.exe.
Та ошибка не должна прибывать из кода, который Вы отправили. Согласно MSDN, Вы сделали это правильно: http://msdn.microsoft.com/en-us/library/bb384054.aspx
Следовательно я рекомендовал бы перепроверить сообщение об ошибке, и где в компиляторе говорится, что ошибка прибывает из. Текст сообщения, которое Вы добавили, не включал ссылку на свойства, и существует подобное сообщение для функций... Что-либо, что пропускает реализацию а не в интерфейсе или отметило краткий обзор или экстерна, может генерировать эту ошибку.
Автосвойство является функцией языка/компилятора C# 3.0. При использовании VS 2008 он должен работать даже при предназначении для.NET 2.0. Я ПРОСТО протестировал его для проверки.
Где Вы определяете это Свойства? Непосредственно в as*x файле или в codeBehind? (Я не думаю, что это может быть причиной, но если целью сборки является.NET 3.5, я не вижу ничто больше),
Это, пока Вы помещаете краткий обзор впереди или реализуете методы.
public abstract string LogPath { get; private set; }
public abstract string ErrorMsg { get; private set; }
Это также происходит с необработанным проектом веб-сайта, где не было сгенерировано web.config.
Хотя в файле решения указано 3.5, .Net требовался файл web.config, чтобы указать его также для признать. Я запустил отладку, позволив ему создать webconfig, и все заработало.
Так что это похоже на предоставленный ответ, но просто убедитесь, что он у вас есть.
Это ошибка также может произойти, если вы используете CodeFile = "MyControl.ascx.cs" в своем MyControl.ascx вместо CodeBehind = "MyControl.ascx.cs".
В случае CodeFile файл 2. 0 пытается перекомпилировать страницу, даже если у вас есть веб-проект вместо веб-сайта, и, конечно же, не работает.
Изменение имени атрибута на CodeBehind устранило проблему в моем случае.