Tech and a few other things RSS 2.0
# Wednesday, December 01, 2010



Problem:

Error 43 An error occurred loading a configuration file: Failed to start monitoring changes to '[my path]' because the network BIOS command limit has been reached. For more information on this error, please refer to Microsoft knowledge base article 810886. Hosting on a UNC share is not supported for the Windows XP Platform. [my path]\web.config

Solution:
REMEMBER YOU ONLY NEED TO MAKE THESE CHANGES ON YOUR MACHINE NOT THE MACHINE YOU ARE TYRING TO ACCESS
  1. Add the following DWORD value at the following registry key:
    HKEY_LOCAL_MACHINE\Software\Microsoft\ASP.NET\FCNMode
    The following list possible values for the FCNMode DWORD value and the behavior that is associated with each value.
  2. 0 or greater than 2 - This is the default behavior. For each subdirectory, the application will create an object that will monitor the subdirectory.
    1 - The application will disable File Change Notifications (FCNs).
    2 - The application will create one object to monitor the main directory. The application will use this object to monitor each subdirectory.
    I recommend setting the value to 1, to disable the FCN. This is what is causing the error when you try to use the debugger.  
  DON'T FORGET: If you are running a 64bit version of windows you will need to go to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ASP.NET

Explanation:
When building over a network I believe MSBuild creates a thread of some sort for each file it's compiling. This tells it to create only one for the entire project/solution. For some reason this fixes it. Ugg these last few posts have been some tuff ones.
 
This blog (http://tonybellomo.com/FullBlog.aspx?BlogID=10176) helped lead me to my answer, though the 64 bit part through me for a spin.
Wednesday, December 01, 2010 3:01:04 PM (Central Standard Time, UTC-06:00)  #    Comments [0] - Trackback
.Net | ccnet | MSBuild



Problem:
Done executing task "AspNetCompiler" -- FAILED.
Done executing task "CallTarget" -- FAILED.
(default target) (1) -> (Website target) -> ASPNETCOMPILER : error ASPRUNTIME: Request failed.

Solution:

What was going on and not being said was the computer I was on didn't trust the assemblies I was using on another computer....We all could have got that from the error right? Anyways, there is a fun little tool called, .NET Framework 2.0 Software Development Kit. Once this kit was installed and downloaded I ran an application called, .NET Framework 2.0 Configuration. In this tool I selected

  • Runtime Security Policy <-- Once selected in the right pane I selected
    • "Adjust Zone Security"
      • Once this is selected I choose
      • "Make changes to this computer." Click Next
        • On the next screen click "Local Intranet" and move the trust arrow up to "Full Trust" I did it for Trusted Sites also.
Explanation:
Remember .Net doesn't let you run assemblies from any which location. Why would they That could be a nightmare of security issues, so developers when working on assemblies across the network and things go south always think perms, down to an assembly level.



Wednesday, December 01, 2010 1:27:29 PM (Central Standard Time, UTC-06:00)  #    Comments [0] - Trackback
.Net | ccnet | MSBuild | Visual Studio
# Thursday, November 18, 2010



Problem:

1. ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: svn: No such revision
2. ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: svn: Could not open the requested SVN filesystem . Process command:

Solution:
I didn't have the correct path for the trunk URL in subversion. If you are getting the same error check to see if your <trunkUrl></trunkUrl> is pointed to the correct place in the repository and if it is spelled correctly.

Example:
        <!-- Hook for using Subversion                                                            -->                
        <!-- Parameter documentation for sourcecontrol plugin using svn:     -->
        <!-- http://ccnet.sourceforge.net/CCNET/Subversion%20Source%20Control%20Block.html        -->
        <sourcecontrol type="svn">
            <trunkUrl>http://win-r7ld6grk131:1234/svn/testproject/trunk/testapp</trunkUrl>
            <workingDirectory>C:\dev\ccnet</workingDirectory>
            <executable>C:\csvn\bin\svn.exe</executable>
            <username>admin</username>
            <password>admin</password>
            <timeout>60000</timeout>           
        </sourcecontrol>



Explanation:
Not too much to explain here. I had the incorrect path and I hope this will help somebody resolve the issue faster than I did.

Thursday, November 18, 2010 11:12:51 AM (Central Standard Time, UTC-06:00)  #    Comments [0] - Trackback
ccnet
# Sunday, August 22, 2010




You wanna set up a continuous integration server for .net and you want to do it fast, problem is learning all the darn elements and what they do for a nant script (default.build) and for the Cruise Control script (ccnet.config), ugg what a pain. Well I'm here to help you. I just created these two scripts on a very basic level to help you get moving quickly, because who honestly wants to waste time setting these things up. I provided plenty of comments too and links in the scripts to websites to make this as painless and as quick as possible. 

Feel free to take and use and build upon, but remember to share and certainly don't snip it and play to your friends on how quickly you set it up and not tell them where you went. That's just not cool. Some might even say you're being a poser. :)
Cruise Control config file ccnet.config:

<!-- A great refrence website                                                -->
<!-- http://ilmatte.wordpress.com/2008/06/01/cruisecontrolnet-tutorial-part-1/#ccnettutsourcecontrolblock -->

<cruisecontrol>  
    <project name="testProject">  
        <!-- URL of web interface set up for cruise control                    -->
        <webURL>http://localhost:8080/default.aspx</webURL>  
        
        <!-- Directory of your project checked out from whatever            -->
        <!-- repository you use and build script is in                         -->
        <workingDirectory>C:\dev\ccnet</workingDirectory>  
        
        <!-- Directory of where all the build logs will be placed            -->
        <artifactDirectory>C:\develop\CCnet\project1CCnetArtifacts</artifactDirectory> 
        
        <!-- Hook for using Subversion                                                            -->                
        <!-- Parameter documentation for sourcecontrol plugin using svn:                          -->
        <!-- http://ccnet.sourceforge.net/CCNET/Subversion%20Source%20Control%20Block.html        -->
        <sourcecontrol type="svn">  
            <trunkUrl>http://win-r7ld6grk131:1234/svn/testproject/trunk/testapp</trunkUrl>  
            <workingDirectory>C:\dev\ccnet</workingDirectory>
            <executable>C:\csvn\bin\svn.exe</executable>
            <username>admin</username>  
            <password>admin</password>
            <timeout>60000</timeout>            
        </sourcecontrol> 
        
        <!-- Hook for Git: Didn't spend to much time                         -->
        <!-- setting this up it may need some more tweeking                    -->
        <!-- and I'm not sure CC supports it natively yet                    -->
        <!--
        <sourcecontrol type="git">
            <repository>C:\repositories\examplerepository\TestApplication</repository>
            <branch>master</branch>
            <autoGetSource>true</autoGetSource>
            <executable>git</executable>
            <tagOnSuccess>false</tagOnSuccess>
            <tagCommitMessage>ccnet build {0}</tagCommitMessage>
            <workingDirectory>C:\repositories\examplerepository\TestApplication</workingDirectory>
            <timeout>60000</timeout>
        </sourcecontrol>
        -->
        
        <!-- How often it should check the repository for changes             -->
        <!-- Parameter documenation for triggers                             -->
        <!-- http://ccnet.sourceforge.net/CCNET/Interval%20Trigger.html     -->
        <triggers>  
            <intervalTrigger name="SVN" seconds="10" buildCondition="IfModificationExists" />  
        </triggers> 
        
        

        <!-- You can use MSBUILD instead of NANT because it can just build the     -->
        <!-- the solution file, as of right now you can't do that in NANT       -->
        <!-- for anything above Visual Studio 2003 Solution files              -->
        <!-- If you have any issues setting this up to build over a network 
        <!-- Look at these blog posts
        <!-- http://bencoffman.com/blog/2010/12/01/Error43AnErrorOccurredLoadingAConfigurationFileFailedToStartMonitoringChangesTo.aspx -->
        <!-- http://bencoffman.com/blog/2010/12/01/ASPNETCOMPILERErrorASPRUNTIMERequestFailed.aspx                                       -->
        <!--
        <tasks>
<msbuild>
<executable>c:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
<workingDirectory>\\vdev2\data\Inetpub\wwwroot\KSL\BartonCreek\</workingDirectory>
<projectFile>bartoncreek.sln</projectFile>
<buildArgs> /t:Rebuild /p:Configuration=Debug</buildArgs>
<timeout>600</timeout>
</msbuild>
</tasks>
--> <!-- labels each build with my name on the front of the project name --> <!-- Parameter documenation for labeller at --> <!-- http://ccnet.sourceforge.net/CCNET/Default%20Labeller.html --> <labeller type="defaultlabeller"> <prefix>Bens-TestProject-</prefix> <incrementOnFailure>true</incrementOnFailure> </labeller> <!-- Runs the super sweet nant script you created --> <!-- there is an <exec> parameter for nunit tests OR --> <!-- You can just use <nunit>.....just saying --> <!-- Parameter documentation for task --> <!-- http://ccnet.sourceforge.net/CCNET/Task%20Blocks.html --> <tasks> <nant> <executable>C:\nant-0.90\bin\nant.exe</executable> <baseDirectory>C:\dev\ccnet</baseDirectory> <nologo>false</nologo> <buildFile>default.build</buildFile> <buildTimeoutSeconds>1200</buildTimeoutSeconds> <targetList> <target>build</target> </targetList> </nant> </tasks> <!-- The directory to copy to. A subdirectory called the current build's label will --> <!-- be created, and the contents of sourceDir will be copied to it --> <!-- http://ccnet.sourceforge.net/CCNET/Build%20Publisher.html --> <publishers> <buildpublisher> <sourceDir>C:\dev\ccnet\bin</sourceDir> <publishDir>C:\Builds\</publishDir> </buildpublisher> </publishers> </project> </cruisecontrol> nant build script default.build: <?xml version="1.0"?> <!-- Good Reference site for the new comers --> <!-- http://ondotnet.com/pub/a/dotnet/2003/01/27/nant.html --> <project name="Bens Test Project" default="run" basedir="."> <!-- REMEMBER:!! as of version .90 nant only supporst building of --> <!-- Visual Studio 2002 and 2003 Solution files --> <!-- Builds your code and creates a bin directory to put your --> <!-- library's (assemblies) in --> <target name="library"> <mkdir dir="bin" /> <csc target="library" output="bin\testLibrary.LastNames.dll"> <sources> <!-- I used star here to compile all .cs files. --> <!-- Also I put a slash in so I could put my build file in --> <!-- The root solution folder and have it step into each --> <!-- project file and build all the code it then takes the --> <!-- library's (asseblies) and puts them in the --> <!-- root bin folder --> <include name="testLibrary/*.cs"/> </sources> </csc> </target> <!-- Builds your code and creates a bin directory to put your --> <!-- exe in --> <target name="build" depends="library"> <csc target="exe" output="bin\BensTestApplication.exe"> <sources> <!-- I used star here to compile all .cs files. --> <!-- Also I put a slash in so I could put my build file in --> <!-- The root solution folder and have it step into each --> <!-- project file and build all the code it then takes the --> <!-- exe and puts them in the --> <!-- root bin folder --> <include name="TestApplication/*.cs"/> </sources> <!-- classes I referenced in "BensTesdtApplication" are in --> <!-- this library --> <references> <include name="bin\testLibrary.LastNames.dll" /> </references> </csc> </target> <!-- Deletes the entire bin folder and all of its contents --> <target name="clean"> <delete dir="bin" failonerror="false"/> </target> <!-- Executes the exe your program built, --> <!-- This will not run if the "build" "target" fails --> <!-- <target name="run" depends="build"> <exec program="bin\BensTestApplication.exe"/> </target> --> </project>

Sunday, August 22, 2010 2:53:07 PM (Central Standard Time, UTC-06:00)  #    Comments [0] - Trackback
.Net | ccnet | nant
# Saturday, August 21, 2010



I recived this error when installing Cruise Control .Net (CCNet)


Error Readout:

Handler "CCNetHttpHandler" has a bad module “ManagedPipelineHandler” in its module list

Fix:
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
or
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

Remember in Windows 7 you have to run this in a command prompt with Administrator privileges. The easiest way to do this is click your windows button in the lower left corner, in search type cmd, then right click cmd and select "Run As Administrator."

Explanation:
Apparently a glitch somewhere caused .net to not be registered with iis. I'm running windows 7 with iis 7.x. This glitch really didn't make itself visible too well, but hey when you are having a problem with .Net and all else fails, reboot or reinstall .Net. It's the Microsoft way. :) And now Crusie Control .net should finally run on your machine.


These dudes posted the fix first. Thanks Fellas
http://wishmesh.com/2010/08/iis-7-5-error-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpipelinehandler-in-its-module-list/

Saturday, August 21, 2010 10:16:00 AM (Central Standard Time, UTC-06:00)  #    Comments [0] - Trackback
.Net | ccnet
# Thursday, August 19, 2010




Error Readout:

"This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default...

Fix:
Change the following values located in the applicationHost.config file located in Windows\system32\inetsrv\config.

<section name="handlers" overrideModeDefault="Deny" />  change this value from "Deny" to "Allow"
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"

Explination:
This error came up when I was setting up cruise control on windows 7 with iis 7. Cruise control sets the platform for creating custom handlers for their applicaiton in the future. Digging a little deeper you can see they set their custom handles to ".aspx" which means they aren't changing anything, but they do give a good explanation in the web.config file comments.

" <!-- Yes, we are overriding .aspx - don't delete this! We are using .aspx since we know it is already bound to ASP.NET. In future we might use a
   different extension so that people can add their own ASP.NET pages if they want to, but we should make sure in that case to change how
   URLs are created -->"


The discussion for this error is here
http://forums.asp.net/t/1220987.aspx

Thursday, August 19, 2010 8:35:17 AM (Central Standard Time, UTC-06:00)  #    Comments [0] - Trackback
.Net | ccnet
Navigation
About the author/Disclaimer
        

My name is Ben Coffman. I like to build things: programs, programming teams, programming departments and maybe one day a company with lots of programmers. When I turn the internet off I focus on my family, random hobbies, and sharing moments in life.

Blogs I follow:

1. 2andahalfd.com

2. Jeff Lamarche

3. Scott Hanselman

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Ben Coffman

Archive
<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910
All Content © 2012,

Sign In