Search Results

Search found 24997 results on 1000 pages for 'microsoft sdk'.

Page 86/1000 | < Previous Page | 82 83 84 85 86 87 88 89 90 91 92 93  | Next Page >

  • Xcode Link Frameworks "Relative to Current SDK" Doesn't Work When Mixing Mac Framework and iPhone St

    - by bl4th3rsk1t3
    I have a framework of code I maintain. It's got mac and iphone objective-c code. And some of it is shared. I'm not having any problems with code. It's a problem with Xcode. Let's just call my framework "AwesomeKit" for this problem. The first thing I did was create an xcode Framework project called "AwesomeKit". Add source files to it, link against the common mac frameworks: foundation, cocoa, carbon, etc. It compiles fine. Then, add a new "static library" target, let's call it "AwesomeKit-iPhone" and set the base SDK in the build settings to iphone device 3.1.3. The problem comes when I try to add "Existing Frameworks" to the AweseomKit-iPhone target. -First change the current build target to AwesomeKit-iPhone. -Right click on any group and select "Add Existing Frameworks..." -Choose UIKit.framework UIKit will immediately be highlighted red, as if it's missing. It is indeed missing because Xcode uses the "Relative SDK" setting from the "Mac OS 10.6" SDK. When it should be using it relative to the current target's base sdk iphone device 3.1.3. What the heck? Has anyone experienced this? This is really annoying.

    Read the article

  • Adding SDK-specific frameworks to Xcode

    - by Haentz
    Hi, Xcode 3.2 kind of broke the build process of my iPhone app. I need to add a new framework to my project (MediaPlayer.framework). So I go into my Target settings and try to add it to the "Linked Libraris" by hitting the [+] button. In the list the MediaPlayer.framework is missing, as well as other frameworks, such as UIKit, CoreGraphic and others. Some frameworks are still there. I can add the frameworks by adding the SDK-specific ones (going into /Developer/Platforms/iPhoneOs.platform/...yadayadayada../frameworkd/) but then of course I can only compile for the iPhone platform and not for the simulator any more. So basically I wonder how I can get Xcode back to chose the appropriate framework, depending on platform and SDK version for me? Thanks and kind regards, Hans Schneider Edit: Things I tried: Setting the Base SDK to 3.0 (was still 2.2.1), reinstalling 3.0 iPhone and Simulator SDK from the "packages" directory of the Xcode 3.2 DMG. Didn't help. The frameworks still wont show up in the list... Edit 2: Ok, I now have the frameworks back in the list, I was previously in my AdHoc configuration. In Debug I have the frameworks back. But it still wont compile for the Simualtor (lots of Symbols(s) not found errors). Looks like the linker doesn't choose the correct libraries and always uses the iPhoneOs3.0 path for the frameworks.

    Read the article

  • Android SDK not recognizing debug-able device.

    - by kal.zekdor
    I'm new to Android development, and am attempting to run a test application on my actual device. I followed the instructions at http://developer.android.com/guide/developing/device.html (and related links), but the Android Debug Bridge (adb) doesn't recognize my connected device. Some quick background info, I'm running WinXP, developing with Eclipse, with a Motorola Droid running Android 2.1 as my physical device. An overview of the steps I've taken: Installed the Android SDK, downloading all necessary packages. Enabled USB Debugging on my device. Connected Device via USB, installing the driver from the SDK folder. I'll stop here (though I continued to setup my application to be debug-able in Eclipse), because I at this point I noticed a problem. Running "sdk\tools\adb devices" at this point (at least, by my understanding), should list my device as connected. However, running this yields only: List of devices attached My device recognizes that it's connected to a computer in debug mode, and my computer recognizes the device. However, I can't seem to get the sdk to recognize it. I'll leave out the steps I used to setup Eclipse for debugging on a device, as it doesn't seem relevant to the problem. I'll include them if requested. If anyone has any ideas, I'd greatly appreciate some assistance. Thanks in advance for your time.

    Read the article

  • Build and test on 2.2.1 iPod Touch with XCode 3.2.2?

    - by slewis
    I've just installed Xcode 3.2.2 with iPhone SDK 3.2 Beta 5 (Snow Leopard) This version of Xcode didn't come with any iPhone SDKs older than 3.0. But I want to create an app that runs on all devices from iPhone OS 2.2.1 - 3.1.3. I managed to add older SDKs into Xcode by downloading iPhone 3.1.3 with Xcode 3.1.4 and installing each 2.x SDK from the 'Packages' folder in the .dmg. So now I can select 2.2.1 as 'iPhone OS Deployment Target' and the 'Base SDK' as 3.1.3, and the app will build (thus letting me use 3.1.3 APIs with conditional coding whilst still running on 2.2.1 devices). But the problem is the app will not install and run on my 2.2.1 iPod Touch. Instead, Xcode tells me 'No provisioned iPhone OS device is connected'. If I bring up the Organizer, in the left column, the iPod Touch has an orange sphere next to it, instead of green, and clicking on this reveals: 'The version of iPhone OS on “iPod touch” is too old for use with this version of the iPhone SDK. Please restore the device to a version of the OS listed below' I'm not sure how to get this version of the SDK to support 2.2.1. (It needs to be this download of XCode/iPhone SDK because I also want it to be a universal binary so it runs on the iPad with a minimum of fuss).

    Read the article

  • Own a KINECT for MS-XBOX before anyone does

    Following is the announced by Richik Nandi from Microsoft team. Dear Customer, We believe that our privileged customers shouldn't have to wait for good things. So, here's a special offer exclusively for you. Be one of the first in India to own and experience Kinect for XBOX 360, few days before it is even launched in stores. Introducing the new Kinect for XBOX 360®. Kinect needs no controllers. You are the controller. Kinect brings games and entertainment to life in extraordinary new ways without using a controller. The sensor recognizes your face, eyes and body movements to deliver a superb gaming experience. Easy to use and great fun, Kinect gets everyone off the couch. See a ball? Kick it. Want to join a friend in the fun? Simply jump in. Imagine controlling movies and music with the wave of a hand or the sound of your voice! Kinect is all about fun for you and your family. And the best part is Kinect works with every Xbox 360®. There are two options you can choose from: •  Kinect sensor + 4GB Xbox 360 bundle + Kinect Adventures game at Rs 22,990/-and get Dance Central game worth Rs 1999 from Redington, 20% discount voucher from Starwood on food and beverages, T-shirt from PUMA and a Kinect adventure live card absolutely free using your unique promo code : XbTXXZl2Sb •  Kinect Sensor at Rs 9,500/-and get 20% discount voucher from Starwood on food and beverages, T-shirt from PUMA and a Kinect adventure live card absolutely free using your unique promo code : lDg6o8SuYh We want you to own your Kinect before the official launch. The promotion closes by 10th November. To know more about Kinect click here. To book your Kinect PRE-ORDER now! Enter your details along with the above mentioned promo code to avail of the free gifts offer. We will have your Kinect delivered by 19th November 2010. Enjoy being the controller. Enjoy the Kinect. span.fullpost {display:none;}

    Read the article

  • Own a KINECT for MS-XBOX before anyone does

    Following is the announced by Richik Nandi from Microsoft team. Dear Customer, We believe that our privileged customers shouldn't have to wait for good things. So, here's a special offer exclusively for you. Be one of the first in India to own and experience Kinect for XBOX 360, few days before it is even launched in stores. Introducing the new Kinect for XBOX 360®. Kinect needs no controllers. You are the controller. Kinect brings games and entertainment to life in extraordinary new ways without using a controller. The sensor recognizes your face, eyes and body movements to deliver a superb gaming experience. Easy to use and great fun, Kinect gets everyone off the couch. See a ball? Kick it. Want to join a friend in the fun? Simply jump in. Imagine controlling movies and music with the wave of a hand or the sound of your voice! Kinect is all about fun for you and your family. And the best part is Kinect works with every Xbox 360®. There are two options you can choose from: •  Kinect sensor + 4GB Xbox 360 bundle + Kinect Adventures game at Rs 22,990/-and get Dance Central game worth Rs 1999 from Redington, 20% discount voucher from Starwood on food and beverages, T-shirt from PUMA and a Kinect adventure live card absolutely free using your unique promo code : XbTXXZl2Sb •  Kinect Sensor at Rs 9,500/-and get 20% discount voucher from Starwood on food and beverages, T-shirt from PUMA and a Kinect adventure live card absolutely free using your unique promo code : lDg6o8SuYh We want you to own your Kinect before the official launch. The promotion closes by 10th November. To know more about Kinect click here. To book your Kinect PRE-ORDER now! Enter your details along with the above mentioned promo code to avail of the free gifts offer. We will have your Kinect delivered by 19th November 2010. Enjoy being the controller. Enjoy the Kinect. span.fullpost {display:none;}

    Read the article

  • Flex builder3 is not generating html wrapper when targeting flex 4 sdk

    - by gonzohunter
    In Flex builder 3 when I create a new flex application targeting the flex 4 sdk, it wont generate a html wrapper file. I have hunted around the web for answers, but no success. I have made sure the box is checked in the project properties to generate html wrapper. The only workaround is to target an older version of the sdk (i.e. 3.2), which will cause the wrapper to be generated. Then I can revert the project to sdk 4. This then means I can never do a clean of my project because this will result in the wrapper being deleted. Has anyone else come across this? Is this just a bug with Flexbuilder3?

    Read the article

  • Regarding Xcode SDK IOS 4.2 installation and missing iOS 4.1

    - by AstaIn enopi
    Hi All, i have download Xcode SDK 4.2(xcode_3.2.5_and_ios_sdk_4.2_final.dmg) from Apple developer site and installed successfully . when open my old xcode project it shows baseSDk missing ,when i try to change project setting ,i have found and set base SDk as 4.2 it works fine my problem is ,in Base SDk list it shows (iOS 2.1, iOS 2.2, iOS 2.2.1, iOS 3.0, iOS 3.1, iOS 3.1.2, iOS 3.1.3, iOS 4.2) There is no iOS 4.0 and iOS 4.1 (which i have used before 4.2). anything wrong in my installation???? Plz help me to correct my mistake Thanks in advance

    Read the article

  • Android SDK and AVD manager will not run from Eclipse after upgrade to SDK 5 and ADT 0.9.6

    - by user303944
    Using Windows 7, 64 bit system. Prior to upgrade I was able to run "Android SDK and AVD manager" from Eclipse via a tool bar icon and menu option, both of which still exist. However now nothing happens when I try to run the manager. As a result I can't start an emulator from within Eclipse. When I use Eclipse to run an Android app, the first emulator I installed is automatically started. Using Windows Explorer, I can still run the manager from the SDK directory in which the update was applied (the update didn't change the location of the SDK). If I run the manager and start multiple emulators and then Run an app from Eclipse, it sees the emulators and allows me to choose one as before. This is a satisfactory work-around, but it would be nice if the manager were fully integrated into Eclipse as it was before.

    Read the article

  • AdMob SDK for iPad?

    - by pix0r
    Trying to get my Universal app released and I rely on AdMob ads for revenue in this particular app. I'm having an issue getting AdMob support working, though I keep finding references to people actually running AdMob on their iPad Simulators. Terminating app due to uncaught exception 'AdMobInvalidLibaryVersionException', reason: 'This version of AdMob SDK is incompatible with the iPhone 3.2 SDK or above. Make sure your Active SDK is set to 3.1.X . If you need to build with 3.2, use the 3.2 preview library.' I have not been able to find this "3.2 preview library" anywhere. Any ideas?

    Read the article

  • Monotouch Binding to Linea Pro SDK

    - by jeffrapp
    I'm trying to create a binding to the Linea Pro (it's the barcode scanner they use in the Apple Stores, Lowes) SDK. I'm using David Sandor's bindings as a reference, but the SDK has been updated a few times since January of 2011. I have most everything working, except for the playSound call, which is used to, well, play a sound on the Linea Pro device. The .h file from the SDK has the call as follows: -(BOOL)playSound:(int)volume beepData:(int *)data length:(int)length error:(NSError **)error; I've tried using int[], NSArray, and an IntPtr to the int[], but nothing seems to work. The last unsuccessful iteration of my binding looks like: [Export ("playSound:beepData:length:")] void PlaySound (int volume, NSArray data, int length); Now, this doesn't work at all. Also note that I have no idea what to do with the error:(NSError **)error part, either. I am lacking some serious familiarity with C, so any help would be extremely appreciated.

    Read the article

  • iPhone SDK/General Xcode question.

    - by user354779
    In the iPhone SDK, in my .n, I can say: -(IBOutlet) UITextField *MyNameIs; -(IBOutlet) UILabel *DisplayMyNameIsHere; } -(IBAction)PressButtonToDisplayYourName; Then in my .m, I'll do: -(IBAction)PressButtonToDisplayYourName { DisplayMyNameIsHere = MyNameIs.text; } But now how would I translate that to making a Mac application. If I wanted to display someones name from a textfield in a label? I have been trying to figure this out, but the ".text" extension only works in the iPhone SDK, not the Mac SDK. Someone please help! Thanks!

    Read the article

  • Android/Java Javadoc missing after updating Android SDK

    - by binnyb
    After i recently installed the new Android SDK stuff, I no longer can view the Javadoc while editing my project's code. I get this message: Note: This element has no attached source and the Javadoc could not be found in the attached Javadoc. I am getting this message for all methods, variables, classes, etc. I have installed the documentation and everything available to me via the android update manager. I have also tried to do a clean install of the android sdk and eclipse, and no luck getting the javadoc working. I have also tried manually setting the javadoc via project properties -> javadoc location -> file:/C:/Program Files/Android/android-sdk-windows/docs/reference/ with no luck What suggestions do you have that could fix this problem?

    Read the article

  • What if &ldquo;Microsoft&rdquo; were in our shoes? About Windows Phone

    - by Vijaya Malla
    This is what I think about Microsoft Windows Phone. If Microsoft were in our shoes looking at various phones available their configurations, memory, front facing cameras etc. Microsoft disappointed the USA customer base again by not getting Nokia Lumia 800. The Past: If we talk few years ago, few business people were on their Blackberry’s and few Gadget lovers were on crappy Windows OS devices. The world was all going right till Apple came with a revolutionary device iPhone, which completely changed our perception towards phone and how great a smartphone can be. It’s not just phone but the whole technology industry. The romantic appealing of the phone and smooth touch and feel of it made everyone to get one of those bad boys. The sales went up for not just Apple for AT&T too. Even though everyone complained about the signal strength of AT&T, everyone wanted to be on it because they have iPhones. All world wanted iPhone back then except Microsoft with few comments on how it is not going to be in market. But it did great and rocked the industry. A few years later with iPhone and Android taking over the smartphone market Microsoft realized that it should be in the game too. Worked on the design of it, and gave us the best Mobile OS ever. Everyone thinks that iOS is a great OS for phones but if you have touched a Windows Phone and use it for real then you will realize the strengths of it. so last year we welcomed Windows Phone 7 The Present : Windows Phone 7 has the fastest growing market. The phones are cheap, you can buy from any carrier out there. The phone became smarter and smarter with the recent update “Mango (7.5)” and with the collaboration with Nokia, Microsoft created a new eco-system for smartphones with the best smartphone hardware and best smartphone software. Everyone in the world was excited about the collaboration. As we fly over cloud 9 imagining about Nokia made Windows Phones we all heard a good news from Nokia “Nokia World”. Nokia showed the world what a best hardware making company can do with Windows Phone 7.5 OS. Nokia Lumia 800 and 710 took the spotlight. Everyone here in USA and all over the world wanted to own a Nokia Lumia 800 because of the design, software, proprietary apps from Nokia (maps, ESPN, drive and music). If USA market had Nokia Lumia 800, then it would have been the best step Microsoft and Nokia had ever made in their history of smartphone market. With all the numbers going to Android and IPhone, its not clear on why Microsoft/Nokia did not release Lumia 800 here in USA. Its unclear if Microsoft had learnt the lesson or not. if it had learnt the lesson I guess Microsoft needs to get the Nokia Lumia 800 to the USA. The Future: This is where we hope we get the best form Microsoft. I was an iPhone user, I used 2G, 3G, 3GS, 4 and then moved to Windows Phone and never felt so happy with my iPhones’. From the day when Nokia announced the partnership with Microsoft and said that they going to come up with a new Nokia windows phone, I was dreaming for my Nokia Phone. but looks like it is not going to happen any time soon. My thoughts about the Market :  Nokia has the biggest market base in the world. Even though people moved to Android or iPhone over the years in other parts of the world like India and China, people still love to use Nokia. Everyone who uses a Windows Phone now will wait for that day when Nokia Lumia comes to the USA but what either or both of the companies should do for a better market share is to make a very aggressive move with the hardware and bet on the devices. I am pretty sure that it will work. everyone here in the USA will like to have a dual core windows phone with front facing camera and all other crazy things that android/apple phones offer. I think we just have to wait for that day and hope that day comes soon. Love Microsoft and Nokia Thank you for reading.

    Read the article

  • How to associate document files with MS Office 2010 Beta?

    - by Semyon Perepelitsa
    I've installed MS Office 2010 Beta (OneClick technology). All apps launch from 1 program, Word for example has this link: "C:\Program Files (x86)\Common Files\microsoft shared\Virtualization Handler\CVH.EXE" "Microsoft Word 2010 (Beta) 2014006204190000" Or OneNote: "C:\Program Files (x86)\Common Files\microsoft shared\Virtualization Handler\CVH.EXE" "Microsoft OneNote 2010 (Beta) 2014006204190000" Because of that I can't associate files with Office programs in file properties, they actually associate with “Microsoft Office Client Virtualization Handler” (CVH.EXE). Anyone know another way to do that?

    Read the article

  • Reinstall of Microsoft Office 2010 beta isn't prompting me for upgrade vs. side-by-side installation

    - by Howiecamp
    I'm running Office 2007 on Windows 7. When I ran the Microsoft Office 2010 beta installation, it asked if I wanted to upgrade the existing 2007 installation or install along side 2007. I later uninstalled 2010 and rebooted. When I re-ran the Office 2010 setup program, it no longer asked if I wanted to upgrade or install side by side. It just did a side by side install by default. How can I get it to re-prompt me, as I'd now like to upgrade my 2007 install.

    Read the article

  • How can I delete, break, or otherwise convert cross references to simple text in microsoft word 2013

    - by Mr Purple
    Cross referencing figure and table captions is useful while editing a document but can become confude when copying and pasting between large documents. I need to pass my document to a colleague who will collate my document with others and has requested that I remove or delete any cross referencing so that my "correct" cross references do not interfere or get interfered with by any other cross references that may be in my colleagues master collated document. My document will be cut and pasted into the master and no further complicated instructions after that point will be tolerated by my colleague. Is there a simple way to convert my cross references to simple text? I am using microsoft word 2013.

    Read the article

  • Microsoft Outlook 2007 - General Failure. The URL was: "<http:/something.com>". The parameter is incorrect

    - by Simon Peverett
    For the last two days, Outlook has decided it doesn't like URL's. Any email message that comes in containing an URL will show the following in an error dialogue message box when I click on the link: General Failure. The URL was: "http:/something.com/somewhere/". The parameter is incorrect If I copy the link into a browser, it works correctly. OS is Windows XP SP 3, Microsoft Office 2007 (Outlook), Internet Explorer 8 (also Chrome). I have, of course, Googled this and the two most popular solutions are: Solution 1: Add/Remove programs Set Program Access and Defaults Custom tab Make sure a default browser is selected Solution 2: Add/Remove Programs Select the MS Office 2007 item Click Change Click Repair I have tried both of these and I still get the problem. Has anyone else had this problem and solved it with a solution other than those listed above?

    Read the article

  • How to make the Microsoft Word 2010 web install version completely download itself?

    - by Paperflyer
    I installed Microsoft Word 2010 using the handy web installation feature. The way this works is that Word installs a bare minimum of functionality and any time it needs a feature that has not been downloaded yet, it will download it in-place just as needed. The thing is, this is stalling Word every few minutes. Every few minutes, Word takes a small nap while it tries to find some obscure feature somewhere. This is really annoying. Is there a way to just tell the thing to completely download itself? This was a nice functionality for the trial but it is extremely annoying in actual use.

    Read the article

  • Microsoft Office tracking license marks/keys in saved files (doc/docx/xls etc.)?

    - by pawel159
    Does Microsoft Office use any marks/keys in saved files, that can track the computer and software license using which file was saved? E.g.: I use Office at work and save files on pendrive. When I'm home I recall to check something and introduce little modifications. I'd save this file using MS Office Home and Student license, but at work I will be redistributing this file and it should look as it was saved at work, with company's license (not my private). Will saving it at work once again wipe license marks from home (if any exist)?

    Read the article

  • Microsoft word 2003 when I am making deletions or changes they show up on the document in a balloon

    - by Cyberdude
    I am writing a novel in microsoft word 2003, and I am pretty far into it, but one time I hit a one of the F keys (I don't know which one) by accident. Now everytime I go on word I have these stupid balloons with writing in them and all my deletions and everything are highlighted shown. I looked up on google how to stop this and I did as it says, and it worked the balloon with the deletions and all the changes dissapeared, but next time I opened up the document they were back, and they always keep coming back, so when I send my document to anyone it shows them all my deletions and changes I made to the document. Can anyone help please. Thanks

    Read the article

  • Any Microsoft SQL Server 2008 licensing restrictions on usage?

    - by ryrobes
    Does Microsoft have any problems with HOW I USE SQL Server Standard Edition 2008? I plan on using it to aggregate my clients various data sources and report on them (using the whole stack - SSIS, DB, Analysis Services and Reporting Services) via the web. I don't want to run into any issues with being accused of "re-selling" services / features when I'm not allowed to, etc. In essence, I'm charging people to build them solutions based on / using MY licensed copy and then giving them access to the final products. (reports, etc) It seems straightforward enough - but who knows with MS... (BTW, Licensed by processor / not CAL)

    Read the article

  • Mocking the Unmockable: Using Microsoft Moles with Gallio

    - by Thomas Weller
    Usual opensource mocking frameworks (like e.g. Moq or Rhino.Mocks) can mock only interfaces and virtual methods. In contrary to that, Microsoft’s Moles framework can ‘mock’ virtually anything, in that it uses runtime instrumentation to inject callbacks in the method MSIL bodies of the moled methods. Therefore, it is possible to detour any .NET method, including non-virtual/static methods in sealed types. This can be extremely helpful when dealing e.g. with code that calls into the .NET framework, some third-party or legacy stuff etc… Some useful collected resources (links to website, documentation material and some videos) can be found in my toolbox on Delicious under this link: http://delicious.com/thomasweller/toolbox+moles A Gallio extension for Moles Originally, Moles is a part of Microsoft’s Pex framework and thus integrates best with Visual Studio Unit Tests (MSTest). However, the Moles sample download contains some additional assemblies to also support other unit test frameworks. They provide a Moled attribute to ease the usage of mole types with the respective framework (there are extensions for NUnit, xUnit.net and MbUnit v2 included with the samples). As there is no such extension for the Gallio platform, I did the few required lines myself – the resulting Gallio.Moles.dll is included with the sample download. With this little assembly in place, it is possible to use Moles with Gallio like that: [Test, Moled] public void SomeTest() {     ... What you can do with it Moles can be very helpful, if you need to ‘mock’ something other than a virtual or interface-implementing method. This might be the case when dealing with some third-party component, legacy code, or if you want to ‘mock’ the .NET framework itself. Generally, you need to announce each moled type that you want to use in a test with the MoledType attribute on assembly level. For example: [assembly: MoledType(typeof(System.IO.File))] Below are some typical use cases for Moles. For a more detailed overview (incl. naming conventions and an instruction on how to create the required moles assemblies), please refer to the reference material above.  Detouring the .NET framework Imagine that you want to test a method similar to the one below, which internally calls some framework method:   public void ReadFileContent(string fileName) {     this.FileContent = System.IO.File.ReadAllText(fileName); } Using a mole, you would replace the call to the File.ReadAllText(string) method with a runtime delegate like so: [Test, Moled] [Description("This 'mocks' the System.IO.File class with a custom delegate.")] public void ReadFileContentWithMoles() {     // arrange ('mock' the FileSystem with a delegate)     System.IO.Moles.MFile.ReadAllTextString = (fname => fname == FileName ? FileContent : "WrongFileName");       // act     var testTarget = new TestTarget.TestTarget();     testTarget.ReadFileContent(FileName);       // assert     Assert.AreEqual(FileContent, testTarget.FileContent); } Detouring static methods and/or classes A static method like the below… public static string StaticMethod(int x, int y) {     return string.Format("{0}{1}", x, y); } … can be ‘mocked’ with the following: [Test, Moled] public void StaticMethodWithMoles() {     MStaticClass.StaticMethodInt32Int32 = ((x, y) => "uups");       var result = StaticClass.StaticMethod(1, 2);       Assert.AreEqual("uups", result); } Detouring constructors You can do this delegate thing even with a class’ constructor. The syntax for this is not all  too intuitive, because you have to setup the internal state of the mole, but generally it works like a charm. For example, to replace this c’tor… public class ClassWithCtor {     public int Value { get; private set; }       public ClassWithCtor(int someValue)     {         this.Value = someValue;     } } … you would do the following: [Test, Moled] public void ConstructorTestWithMoles() {     MClassWithCtor.ConstructorInt32 =            ((@class, @value) => new MClassWithCtor(@class) {ValueGet = () => 99});       var classWithCtor = new ClassWithCtor(3);       Assert.AreEqual(99, classWithCtor.Value); } Detouring abstract base classes You can also use this approach to ‘mock’ abstract base classes of a class that you call in your test. Assumed that you have something like that: public abstract class AbstractBaseClass {     public virtual string SaySomething()     {         return "Hello from base.";     } }      public class ChildClass : AbstractBaseClass {     public override string SaySomething()     {         return string.Format(             "Hello from child. Base says: '{0}'",             base.SaySomething());     } } Then you would set up the child’s underlying base class like this: [Test, Moled] public void AbstractBaseClassTestWithMoles() {     ChildClass child = new ChildClass();     new MAbstractBaseClass(child)         {                 SaySomething = () => "Leave me alone!"         }         .InstanceBehavior = MoleBehaviors.Fallthrough;       var hello = child.SaySomething();       Assert.AreEqual("Hello from child. Base says: 'Leave me alone!'", hello); } Setting the moles behavior to a value of  MoleBehaviors.Fallthrough causes the ‘original’ method to be called if a respective delegate is not provided explicitly – here it causes the ChildClass’ override of the SaySomething() method to be called. There are some more possible scenarios, where the Moles framework could be of much help (e.g. it’s also possible to detour interface implementations like IEnumerable<T> and such…). One other possibility that comes to my mind (because I’m currently dealing with that), is to replace calls from repository classes to the ADO.NET Entity Framework O/R mapper with delegates to isolate the repository classes from the underlying database, which otherwise would not be possible… Usage Since Moles relies on runtime instrumentation, mole types must be run under the Pex profiler. This only works from inside Visual Studio if you write your tests with MSTest (Visual Studio Unit Test). While other unit test frameworks generally can be used with Moles, they require the respective tests to be run via command line, executed through the moles.runner.exe tool. A typical test execution would be similar to this: moles.runner.exe <mytests.dll> /runner:<myframework.console.exe> /args:/<myargs> So, the moled test can be run through tools like NCover or a scripting tool like MSBuild (which makes them easy to run in a Continuous Integration environment), but they are somewhat unhandy to run in the usual TDD workflow (which I described in some detail here). To make this a bit more fluent, I wrote a ReSharper live template to generate the respective command line for the test (it is also included in the sample download – moled_cmd.xml). - This is just a quick-and-dirty ‘solution’. Maybe it makes sense to write an extra Gallio adapter plugin (similar to the many others that are already provided) and include it with the Gallio download package, if  there’s sufficient demand for it. As of now, the only way to run tests with the Moles framework from within Visual Studio is by using them with MSTest. From the command line, anything with a managed console runner can be used (provided that the appropriate extension is in place)… A typical Gallio/Moles command line (as generated by the mentioned R#-template) looks like that: "%ProgramFiles%\Microsoft Moles\bin\moles.runner.exe" /runner:"%ProgramFiles%\Gallio\bin\Gallio.Echo.exe" "Gallio.Moles.Demo.dll" /args:/r:IsolatedAppDomain /args:/filter:"ExactType:TestFixture and Member:ReadFileContentWithMoles" -- Note: When using the command line with Echo (Gallio’s console runner), be sure to always include the IsolatedAppDomain option, otherwise the tests won’t use the instrumentation callbacks! -- License issues As I already said, the free mocking frameworks can mock only interfaces and virtual methods. if you want to mock other things, you need the Typemock Isolator tool for that, which comes with license costs (Although these ‘costs’ are ridiculously low compared to the value that such a tool can bring to a software project, spending money often is a considerable gateway hurdle in real life...).  The Moles framework also is not totally free, but comes with the same license conditions as the (closely related) Pex framework: It is free for academic/non-commercial use only, to use it in a ‘real’ software project requires an MSDN Subscription (from VS2010pro on). The demo solution The sample solution (VS 2008) can be downloaded from here. It contains the Gallio.Moles.dll which provides the here described Moled attribute, the above mentioned R#-template (moled_cmd.xml) and a test fixture containing the above described use case scenarios. To run it, you need the Gallio framework (download) and Microsoft Moles (download) being installed in the default locations. Happy testing…

    Read the article

< Previous Page | 82 83 84 85 86 87 88 89 90 91 92 93  | Next Page >