<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6131589731095202044</id><updated>2026-05-19T17:37:09.851-07:00</updated><category term="Visual Studio 2010"/><title type='text'>The Daly Bytes</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dalybytes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://dalybytes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6131589731095202044.post-3807843828489134820</id><published>2025-09-21T06:32:00.000-07:00</published><updated>2025-09-21T07:16:31.681-07:00</updated><title type='text'>NUnit TestFixture logging with vstest and Microsoft.Testing.Platform</title><content type='html'>&lt;p&gt;When using vstest or Microsoft.Testing.Platform on the command line, NUnit won&#39;t log `TestContext.Out` from a `TestFixture`, or, to be more specific, when outside of a
    `TestMethod`.&lt;/p&gt;

&lt;p&gt;You will see the output in UI tools like ReSharper, however, when running the tests on the command line, only logs
    written inside a test method will show in the console.&lt;/p&gt;
&lt;p&gt;This is due to buffering test logs for tests running in parallel so the logs are not interleaved, plus the lack of hierarchical logging support in vstest
    and Microsoft.Testing.Platform.&lt;/p&gt;
&lt;p&gt;The solution is to use `TestContext.Progress` which will write straight out to the console.&lt;/p&gt;
&lt;script type=&quot;text/plain&quot; class=&quot;language-csharp&quot;&gt;
    using Microsoft.Extensions.Logging;
    using NUnit.Framework;
    using NUnit.Framework.Internal;
    using ILogger = Microsoft.Extensions.Logging.ILogger;
    
    namespace TestingExample.Logging;
    
    /// &lt;summary&gt;
    /// Logger provider that routes Microsoft.Extensions.Logging output to NUnit test output
    /// &lt;/summary&gt;
    public class NUnitTestOutputLoggerProvider : ILoggerProvider
    {
        private readonly LogLevel minimumLevel_;
    
        public NUnitTestOutputLoggerProvider(LogLevel minimumLevel = LogLevel.Debug)
        {
            minimumLevel_ = minimumLevel;
        }
    
        public ILogger CreateLogger(string categoryName) =&gt; new NUnitTestOutputLogger(categoryName, minimumLevel_);
    
        public void Dispose() { }
    }
    
    /// &lt;summary&gt;
    /// Logger that writes to NUnit TestContext output
    /// &lt;/summary&gt;
    public class NUnitTestOutputLogger : ILogger
    {
        private readonly string categoryName_;
        private readonly LogLevel minimumLevel_;
    
        public NUnitTestOutputLogger(string categoryName, LogLevel minimumLevel = LogLevel.Debug)
        {
            categoryName_ = categoryName;
            minimumLevel_ = minimumLevel;
        }
    
        public IDisposable? BeginScope&lt;TState&gt;(TState state) where TState : notnull =&gt; null;
    
        public bool IsEnabled(LogLevel logLevel) =&gt; logLevel &gt;= minimumLevel_;
    
        public void Log&lt;TState&gt;(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func&lt;TState, Exception?, string&gt; formatter)
        {
            if (!IsEnabled(logLevel)) return;
            var message = formatter(state, exception);
            var logEntry = $&quot;[{DateTime.UtcNow:HH:mm:ss.fff}] [{logLevel.ToString().ToUpper()}] [{categoryName_}] {message}&quot;;
    
            if (exception != null)
                logEntry += Environment.NewLine + exception;
    
            if (TestExecutionContext.CurrentContext.CurrentTest is TestMethod)
                TestContext.Out.WriteLine(logEntry);
            else
                TestContext.Progress.WriteLine(logEntry);
        }
    }
&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://dalybytes.blogspot.com/feeds/3807843828489134820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dalybytes.blogspot.com/2025/09/nunit-testfixture-logging-with-vstest.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/3807843828489134820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/3807843828489134820'/><link rel='alternate' type='text/html' href='http://dalybytes.blogspot.com/2025/09/nunit-testfixture-logging-with-vstest.html' title='NUnit TestFixture logging with vstest and Microsoft.Testing.Platform'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6131589731095202044.post-7074783431910411488</id><published>2016-01-22T11:39:00.003-08:00</published><updated>2016-01-22T12:01:35.917-08:00</updated><title type='text'>Steps to save battery and increase performance on iOS iPhone and iPad</title><content type='html'>With each iteration of iOS, iPads and iPhones get slower and slower because of new features that add questionable value and utility.&lt;br /&gt;
&lt;br /&gt;
All the extra work being done by new features, require extra CPU cycles, which in turn require more energy, which results in poor performance and shorter battery life.&lt;br /&gt;
&lt;br /&gt;
Follow this guide to help you choose which features to turn off thus making your battery last longer and iPad/ iPhone more responsive.&lt;br /&gt;
&lt;br /&gt;
All the below paths are in the &lt;i&gt;Settings &lt;/i&gt;app.&lt;br /&gt;
&lt;h4&gt;
General &amp;gt; Siri &amp;gt; Hey Siri&lt;/h4&gt;
&lt;i&gt;Hey Siri&lt;/i&gt; has to constantly monitor background sound, just in case you speak those two words, this is an active drain on battery. It &lt;i&gt;sort of works&lt;/i&gt;, and thus can be &lt;i&gt;quite nice &lt;/i&gt;or &lt;i&gt;quite annoying&lt;/i&gt;, but if you don&#39;t use it or have stopped because it&#39;s not accurate enough, turn it off.&lt;br /&gt;
&lt;h4&gt;
General &amp;gt; Siri &amp;gt; Siri&lt;/h4&gt;
&lt;i&gt;Siri&lt;/i&gt; probably has some background threads running periodically or all the time, if you don&#39;t use it or can live without, this option allows you to turn it off completely.&lt;br /&gt;
&lt;h4&gt;
Spotlight Search &amp;gt; Siri Suggestions&lt;/h4&gt;
&lt;i&gt;Siri Suggestions&lt;/i&gt; slow searching in general, use network bandwidth and data and are generally &lt;i&gt;not that useful&lt;/i&gt;. You can turn off and probably won&#39;t notice any changes.&lt;br /&gt;
&lt;div&gt;
&lt;h4&gt;
Spotlight Search &amp;gt; Search Results&lt;/h4&gt;
&lt;/div&gt;
&lt;div&gt;
Search results will index data from the selected apps, it may also index data from these apps when they are not running! Which creates a noticeable reduction in responsiveness.&lt;br /&gt;
&lt;br /&gt;
Turning all (or a select majority) of app search results off, will mean your phone or tablet will not query data for these apps and will not update the database in the background when you want it to focus on the task at hand.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Note: &lt;/b&gt;In general, spotlight seems to be the single biggest contributor to keyboard lag and poor performance in general.&lt;br /&gt;
&lt;div&gt;
&lt;h4&gt;
Handoff &amp;amp; Suggested Apps &amp;gt; Handoff&lt;/h4&gt;
&lt;/div&gt;
&lt;div&gt;
Handoff uses extra bandwidth and CPU cycles, if you don&#39;t use it, it&#39;s a no brainer to turn off.&lt;/div&gt;
&lt;div&gt;
&lt;h4&gt;
Handoff &amp;amp; Suggested Apps &amp;gt; Installed Apps&lt;/h4&gt;
&lt;/div&gt;
&lt;div&gt;
Some people might like the idea of this, or appreciate how cute the&amp;nbsp;&lt;i&gt;meh&lt;/i&gt; suggestions it makes are.&lt;br /&gt;
&lt;br /&gt;
Once you realise it&#39;s using bandwidth, CPU and slowing down typing on your phone, the utility of this may become less obvious.&lt;/div&gt;
&lt;h4&gt;
Accessibility &amp;gt; Reduce Motion&lt;/h4&gt;
&lt;div&gt;
This makes navigating iOS faster and more responsive, it reduces animation time and thus CPU cycles.&lt;/div&gt;
&lt;h4&gt;
Background App Refresh&lt;/h4&gt;
&lt;div&gt;
This starts up apps periodically so they are pre-loaded, useful for things like newsreaders that can have the latest news articles ready when you open the app.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I&#39;ve never noticed any benefit, I expect that most apps do not benefit much from this, I&#39;ve had it disabled for years without any ill affects.&lt;/div&gt;
&lt;h4&gt;
Software Update&lt;/h4&gt;
&lt;div&gt;
Apple support suggested to me that I should run any updates, merely having an update waiting, causes the iOS device to use extra battery power &quot;&lt;i&gt;checking the update&lt;/i&gt;&quot;. Didn&#39;t make any sense to me, but I updated and it did seem to make a difference.&lt;/div&gt;
&lt;div&gt;
&lt;h4&gt;
Safari &amp;gt; Search Engine Suggestions&lt;/h4&gt;
&lt;h4&gt;
&lt;div style=&quot;font-weight: normal;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;font-weight: normal;&quot;&gt;
If the search engine is Google, I find these suggestions to be quite good. You can turn off to save bandwidth and CPU.&lt;/div&gt;
&lt;/h4&gt;
&lt;h4&gt;
Safari &amp;gt; Safari Suggestions&lt;/h4&gt;
&lt;h4&gt;
&lt;div&gt;
&lt;div style=&quot;font-weight: normal;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;font-weight: normal;&quot;&gt;
These are suggestions for you to consume more Apple related stuff, easier to turn this one off than &lt;i&gt;Search Engine Suggestions&lt;/i&gt;, because these suggestions are less likely to be of great benefit to your search.&lt;/div&gt;
&lt;/div&gt;
&lt;/h4&gt;
&lt;h4&gt;
Safari &amp;gt; Preload Top Hit&lt;/h4&gt;
&lt;div style=&quot;font-weight: normal;&quot;&gt;
Extra work and bandwidth required to do this, so turn off to save on both.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dalybytes.blogspot.com/feeds/7074783431910411488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dalybytes.blogspot.com/2016/01/steps-to-save-battery-and-increase.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/7074783431910411488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/7074783431910411488'/><link rel='alternate' type='text/html' href='http://dalybytes.blogspot.com/2016/01/steps-to-save-battery-and-increase.html' title='Steps to save battery and increase performance on iOS iPhone and iPad'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6131589731095202044.post-3964935875422462192</id><published>2016-01-06T04:19:00.003-08:00</published><updated>2016-01-06T04:19:22.421-08:00</updated><title type='text'>netsh http add sslcert fails with error 87</title><content type='html'>An obscure parameter error may happen when using &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;netsh http add sslcert hostnameport&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Command Line Example&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;netsh http add sslcert hostnameport=localhost:443 certhash=8e58dd9aa3473965b2dc8f08fc0dcbda15e69428 appid={00112233-4455-6677-8899-AABBCCDDEEFF}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;SSL Certificate add failed, Error: 87&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;The parameter is incorrect.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution&lt;/b&gt;&lt;br /&gt;
Specify certstorename, e.g.&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;netsh http add sslcert hostnameport=localhost:443 certhash=8e58dd9aa3473965b2dc8f08fc0dcbda15e69428 appid={00112233-4455-6677-8899-AABBCCDDEEFF}&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;b&gt;certstorename=my&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;SSL Certificate successfully added&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://dalybytes.blogspot.com/feeds/3964935875422462192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dalybytes.blogspot.com/2016/01/netsh-http-add-sslcert-fails-with-error.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/3964935875422462192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/3964935875422462192'/><link rel='alternate' type='text/html' href='http://dalybytes.blogspot.com/2016/01/netsh-http-add-sslcert-fails-with-error.html' title='netsh http add sslcert fails with error 87'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6131589731095202044.post-8218083618364136515</id><published>2014-11-24T03:56:00.001-08:00</published><updated>2014-11-24T04:01:29.770-08:00</updated><title type='text'>NUnit Web.config</title><content type='html'>When using NUnit to test a web project, by default NUnit won&#39;t read the Web.config, it is only looking for a config file named TestProjectNamespace.dll.config.&lt;br /&gt;
&lt;br /&gt;
We can quickly configure Visual Studio so the web.config file is copied (and renamed) from your web project to the NUnit build folder.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Add the web.config File as a Link&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Right click &lt;/b&gt;on NUnit &lt;b&gt;project &lt;/b&gt;in Visual Studio&lt;br /&gt;&lt;b&gt;Add &amp;gt; Existing Item&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Navigate to the web.config file in the web project&lt;/li&gt;
&lt;li&gt;Select the web.config file&lt;br /&gt;click on the &lt;b&gt;arrow beside &lt;/b&gt;the &lt;b&gt;Add &lt;/b&gt;button &amp;gt; &lt;b&gt;Add As Link&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;b&gt;Edit the NUnit Project File&lt;/b&gt;&lt;br /&gt;
Use a text editor to edit the NUnit project file, you will be able to find the lines where you have added the web.config file.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Change from:&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;None Include=&quot;..\Other.Project\Web.config&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Link&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Web.config&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;/Link&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/None&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;To:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;None Include=&quot;..\Other.Project\Web.config&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Link&amp;gt;Namespace.dll.config&amp;lt;/Link&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;CopyToOutputDirectory&amp;gt;Always&amp;lt;/CopyToOutputDirectory&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/None&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;This will copy the linked file and rename it so NUnit will find it.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://dalybytes.blogspot.com/feeds/8218083618364136515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dalybytes.blogspot.com/2014/11/nunit-webconfig.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/8218083618364136515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/8218083618364136515'/><link rel='alternate' type='text/html' href='http://dalybytes.blogspot.com/2014/11/nunit-webconfig.html' title='NUnit Web.config'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6131589731095202044.post-2802937622419690738</id><published>2014-11-23T05:04:00.000-08:00</published><updated>2014-11-23T05:04:06.541-08:00</updated><title type='text'>IIS Redirect HTTP to HTTPS</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUvN3cMwYuV7DYRvkG4L5mb5EllZSb53T9XMVmCrFBFdzdthbnEz3UWPfA1AusMq3ahIZGk7b8yrOwcsbL93qaRnp8ir-Z16agRUfrNKjZ0tBIfhVsDnb7i60nkQMBN5yiqeg089fTCPsG/s1600/IIS_HTTP_to_HTTPS_redirect.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUvN3cMwYuV7DYRvkG4L5mb5EllZSb53T9XMVmCrFBFdzdthbnEz3UWPfA1AusMq3ahIZGk7b8yrOwcsbL93qaRnp8ir-Z16agRUfrNKjZ0tBIfhVsDnb7i60nkQMBN5yiqeg089fTCPsG/s1600/IIS_HTTP_to_HTTPS_redirect.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dalybytes.blogspot.com/feeds/2802937622419690738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dalybytes.blogspot.com/2014/11/iis-redirect-http-to-https.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/2802937622419690738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/2802937622419690738'/><link rel='alternate' type='text/html' href='http://dalybytes.blogspot.com/2014/11/iis-redirect-http-to-https.html' title='IIS Redirect HTTP to HTTPS'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUvN3cMwYuV7DYRvkG4L5mb5EllZSb53T9XMVmCrFBFdzdthbnEz3UWPfA1AusMq3ahIZGk7b8yrOwcsbL93qaRnp8ir-Z16agRUfrNKjZ0tBIfhVsDnb7i60nkQMBN5yiqeg089fTCPsG/s72-c/IIS_HTTP_to_HTTPS_redirect.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6131589731095202044.post-5405211098865764010</id><published>2014-11-02T12:03:00.002-08:00</published><updated>2014-11-02T12:03:22.142-08:00</updated><title type='text'>Visual Studio Won&#39;t Start</title><content type='html'>Visual Studio 2013 started hanging on startup, a CPU core would be maxed out but there would be no events in &lt;a href=&quot;http://technet.microsoft.com/en-ie/sysinternals/bb896645.aspx&quot;&gt;Process Monitor&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I&#39;m sure the same debugging rules apply to 2010 &amp;amp; 2012...&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;It will probably run in safe mode: devenv.exe /safemode&lt;/li&gt;
&lt;li&gt;Might be worth a bet resetting settings: devenv.exe /resetsettings&lt;/li&gt;
&lt;li&gt;Or viewing a log for warnings:&amp;nbsp;devenv.exe /resetsettings&lt;br /&gt;Check out the log file in:&lt;br /&gt;C:\Users\&lt;b&gt;_USERNAME_&lt;/b&gt;\AppData\Roaming\Microsoft\VisualStudio\&lt;b&gt;_VERSION_&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;As a last resort (takes ages) try repair by Control Panel &amp;gt; Add/ Remove Programs&lt;/li&gt;
&lt;/ol&gt;
</content><link rel='replies' type='application/atom+xml' href='http://dalybytes.blogspot.com/feeds/5405211098865764010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dalybytes.blogspot.com/2014/11/visual-studio-wont-start.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/5405211098865764010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/5405211098865764010'/><link rel='alternate' type='text/html' href='http://dalybytes.blogspot.com/2014/11/visual-studio-wont-start.html' title='Visual Studio Won&#39;t Start'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6131589731095202044.post-2681161166873200376</id><published>2012-01-21T14:42:00.000-08:00</published><updated>2012-01-21T14:42:31.229-08:00</updated><title type='text'>Setting up Jenkins to work with Mercurial on Windows</title><content type='html'>After spending one day trying to get a build working on a machine other than my development laptop, I decided it was time to setup the project on a continuous integration server.&lt;br /&gt;
&lt;br /&gt;
As I had some trouble getting Jenkins to work with Mercurial, I thought I&#39;d document the steps here for reference.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Environment (pre Jenkins)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Windows Server 2008&lt;/li&gt;
&lt;li&gt;Mercurial Source Control (hosted on BitBucket)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Quickstart&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Install &lt;a href=&quot;http://jenkins-ci.org/&quot;&gt;Jenkins&lt;/a&gt;&amp;nbsp;(1.448)&lt;/li&gt;
&lt;li&gt;Install &lt;a href=&quot;http://tortoisehg.bitbucket.org/&quot;&gt;TortoiseHg&lt;/a&gt;&amp;nbsp;(2.2.2)&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Setup Plugins in Jenkins&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&amp;gt; Manage Jenkins &amp;gt; Manage Plugins &amp;gt; Available&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Tick the boxes for these plugins:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Mercurial Plugin&lt;/li&gt;
&lt;li&gt;MSBuild Plugin&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&amp;gt; Download now and install after restart&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&amp;gt; Restart Jenkins when installation is complete and no jobs are running&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;Mercurial&lt;/i&gt; will appear under &lt;i&gt;Source Code Management &lt;/i&gt;when you configure a job.&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;MSBuild&lt;/i&gt; will be available under the &lt;i&gt;Build&lt;/i&gt; header when you configure a job.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;Getting Mercurial working with Jenkins&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;HTTP&lt;/b&gt;&lt;br /&gt;
I got this working by changing the account Jenkins runs under&amp;nbsp;(&amp;gt; Start &amp;gt; Run &amp;gt; services.msc &amp;gt; Jenkins &amp;gt; Log On &amp;gt; &amp;nbsp;This account:), from the local system account, to my account (Note: my account is an admin account, so I&#39;ll have to create a Jenkins only account, with less permissions. It&#39;s not secure to have a service run under admin!).&lt;br /&gt;
&lt;br /&gt;
Mercurial could then access my username and password, as &lt;a href=&quot;http://stackoverflow.com/questions/1997601/store-password-in-tortoisehg&quot;&gt;setup&lt;/a&gt; in C:\Users\username\mercurial.ini&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SSH&lt;/b&gt;&lt;br /&gt;
I could not get the Mercurial plugin to work with SSH adequately, but I tried, you can read on, but it may not prove useful nor interesting.&lt;br /&gt;
&lt;br /&gt;
For the Repository URL field, I put in my BitBucket SSH url -&amp;nbsp;ssh://hg@bitbucket.org/&lt;i&gt;username&lt;/i&gt;/&lt;i&gt;repository&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
When I tried to build the project, Jenkins would just hang indefinitely on:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hg clone --rev default --noupdate ssh://hg@bitbucket.org/username/repository &quot;C:\Program Files\Jenkins\jobs\Test\workspace&quot;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So I ran the command myself on the command prompt.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Up pops PuTTY Security Alert, asking if you trust the host, and want to cache the rsa key fingerprint - it appears that Jenkins cannot get past this screen.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
As Jenkins is running under the local system account, I decided to see if changing it to run under my account (&amp;gt; Start &amp;gt; Run &amp;gt; services.msc &amp;gt; Jenkins &amp;gt; Log On &amp;gt; &amp;nbsp;This account:) would make a difference. It did, I assume this is because PuTTY has cached the security key under my account settings.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
But I then ran into this error:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
remote: No supported authentication methods left to try!&lt;/div&gt;
&lt;div&gt;
abort: no suitable response from remote hg!&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So I used&amp;nbsp;&lt;a href=&quot;http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html&quot;&gt;Pageant&lt;/a&gt; to add the BitBucket private (ppk) key file (created by myself).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
But then I ran into this error, again:&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
remote: No supported authentication methods left to try!&lt;/div&gt;
&lt;div&gt;
abort: no suitable response from remote hg!&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So I tried the command prompt myself, it worked. Then I tried Jenkins, and it worked. However, Jenkins&#39; Mercurial plugin only works with SSH IF I setup Pageant and run a hg command manually first. Pretty shite IMO.&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dalybytes.blogspot.com/feeds/2681161166873200376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dalybytes.blogspot.com/2012/01/setting-up-jenkins-to-work-with.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/2681161166873200376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/2681161166873200376'/><link rel='alternate' type='text/html' href='http://dalybytes.blogspot.com/2012/01/setting-up-jenkins-to-work-with.html' title='Setting up Jenkins to work with Mercurial on Windows'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6131589731095202044.post-6545306074184300585</id><published>2012-01-18T10:46:00.000-08:00</published><updated>2012-01-18T10:46:01.548-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2010"/><title type='text'>Visual Studio Counterintuivity, Edit and Continue</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;Changes are not allowed while code is running or if the option &#39;Break all processes when one process breaks&#39; is disabled. The option can be enabled in Tools, Options, Debugging.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJbhrHwiNFIIuy5Sb001vrFk5KvUq2Z30LP3dQk6-ildYpuTC-Aq0ux9FBI7xB9NvFabP341oEq7MfXV94Kjj2_hBfU2GkWQbhyphenhyphenixT6pVeXIoxzEslLp84GAUXJyM5IswsEIseIc72iK_/s1600/Screen+shot+2012-01-18+at+18.39.33.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJbhrHwiNFIIuy5Sb001vrFk5KvUq2Z30LP3dQk6-ildYpuTC-Aq0ux9FBI7xB9NvFabP341oEq7MfXV94Kjj2_hBfU2GkWQbhyphenhyphenixT6pVeXIoxzEslLp84GAUXJyM5IswsEIseIc72iK_/s1600/Screen+shot+2012-01-18+at+18.39.33.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I had to disable Edit and Continue in order to use it.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7keUcaxGhMNwhz4IBOy7-r9m9kiF60jqzcESF0eRZyN74MKfRN8GAEJnYZTVPo_-jcBU9aFoqynF7EqGlNS2w2BV108hqQ6mTxaMEbjQ_dj9qVm6ZkA9XAwLTglCxiW1B9Gr5J-t9wBF0/s1600/Screen+shot+2012-01-18+at+18.42.24.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7keUcaxGhMNwhz4IBOy7-r9m9kiF60jqzcESF0eRZyN74MKfRN8GAEJnYZTVPo_-jcBU9aFoqynF7EqGlNS2w2BV108hqQ6mTxaMEbjQ_dj9qVm6ZkA9XAwLTglCxiW1B9Gr5J-t9wBF0/s1600/Screen+shot+2012-01-18+at+18.42.24.png&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://dalybytes.blogspot.com/feeds/6545306074184300585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dalybytes.blogspot.com/2012/01/visual-studio-counterintuivity-edit-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/6545306074184300585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6131589731095202044/posts/default/6545306074184300585'/><link rel='alternate' type='text/html' href='http://dalybytes.blogspot.com/2012/01/visual-studio-counterintuivity-edit-and.html' title='Visual Studio Counterintuivity, Edit and Continue'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJbhrHwiNFIIuy5Sb001vrFk5KvUq2Z30LP3dQk6-ildYpuTC-Aq0ux9FBI7xB9NvFabP341oEq7MfXV94Kjj2_hBfU2GkWQbhyphenhyphenixT6pVeXIoxzEslLp84GAUXJyM5IswsEIseIc72iK_/s72-c/Screen+shot+2012-01-18+at+18.39.33.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>