Wednesday, February 17, 2010

Why do I keep getting prompted to install Silverlight?

Why do I keep getting prompted to install Silverlight?


Why do I keep getting prompted to install Silverlight?

Posted: 17 Feb 2010 12:06 PM PST

Issue: some people get prompted repeatedly to install Silverlight while visiting web sites like nbcolympics.com. Solution: if you have old version of Webshots Toolbar or Kiwee Toolbar from American Greetings, you should upgrade to latest version from...( read more )...(read more)

Why do I keep getting prompted to install Silverlight?

Posted: 17 Feb 2010 12:06 PM PST

Issue: a few people get prompted repeatedly to install Silverlight while visiting web sites like nbcolympics.com. Solution: if you have old version of Webshots Toolbar or Kiwee Toolbar from American Greetings, you should upgrade to latest version from Read More......(read more)

Tech·Ed North America 2010 | $200 Savings Ends February 28

Posted: 17 Feb 2010 12:01 PM PST

Join us June 7-10 in New Orleans. Dive into Microsoft technologies by day, and indulge in French Quarter culture at night.

This posting includes an audio/video/photo media file: Download Now

Learning Windows Communication Foundation

Posted: 17 Feb 2010 11:01 AM PST

Learn how to build distributed applications with Windows Communication Foundation (WCF) in this 10-part tutorial series.

This posting includes an audio/video/photo media file: Download Now

Silverlight Cream for February 17, 2010 -- #799

Posted: 17 Feb 2010 09:52 AM PST

In this Issue: SilverLaw , Mike Taulty , and Victor Gaudioso . Shoutout: John Papa announced SL TV 8: Silverlight Client for Facebook From SilverlightCream.com : Since I'm at #MVP10, I'm going to be running behind, but I had a few things tagged that I...( read more )...(read more)

Celebrating the Year of the Tiger

Posted: 17 Feb 2010 09:50 AM PST

February 14th marked the beginning of the Chinese Year of the Tiger. In commemoration, Flora and Fauna International (FFI), one of the world's oldest conservation societies, partnered with Shoothill , one of our key Silverlight developers in the UK, to...( read more )...(read more)

It’s time for TechDays Sweden again…

Posted: 17 Feb 2010 02:24 AM PST

March 23rd and 24th I will be presenting at TechDays Sweden in Örebro.  The agenda for my session is not set in stone yet but the plan is to talk about debugging .NET production type issues as usual (Performance, Memory, Crashes, Exceptions etc.) since that is what I know best. I will be talking about them both from a developers perspective, using some of the nice features in Visual Studio .NET 2010 like dump debugging, profiling, and perhaps IntelliTrace as well as discuss options for debugging issues that occur in environments where you don't have Visual Studio, concentrating on WinDbg/Debug Diag and other tools that lend themselves well for production environment debugging. Hope to see you there, Tess   Read More......(read more)

Getting Started with WPF : Button Control Part 2 – Basic Styling

Posted: 17 Feb 2010 02:00 AM PST

In my previous post about buttons and content controls , I explained how to do quite a bit of customization using just the content property of a button. That gets you pretty far, but you're barely tapping into what WPF (and Silverlight) can do. In this...( read more )...(read more)

Silverlight Bootcamp at MIX10

Posted: 17 Feb 2010 01:23 AM PST

I'm doing a half-day "bootcamp" session with John Papa at MIX 10 and wanted to publicise that again here – if you're already signed up for MIX then you can still revisit the pre-conference workshop registration and register for our session. If you're...( read more )...(read more)

New MEF Drop (Preview 9) on CodePlex!

Posted: 17 Feb 2010 01:11 AM PST

I was pretty excited to see that there's a new drop of MEF up on CodePlex – if you're a reader here then you'll know that MEF will ship with Silverlight 4 and with .NET Framework 4.0 ( it's already in the beta/RC bits in both cases ) and there are versions...( read more )...(read more)

Help me pick the mini-apps that we’ll design together at MIX10

Posted: 16 Feb 2010 05:56 PM PST

On March 14th, in the afternoon I will be hosting a pre-session called Design Tools and Techniques. We will design some mini-apps from scratch, all the way from sketching them, wireframing, prototyping and doing the final UI in Blend. I'll provide...( read more )...(read more)

New tutorials page aggregating recent work, 34 for launch

Posted: 16 Feb 2010 03:04 PM PST

I've done a few events recently and two of the topics that come up when talking to attendees include additional resources for learning and tutorials that I've written myself that that demonstrate a technique they're asking about. I've been keeping track...( read more )...(read more)

Intermittently the Server sends back 0 byte WebResource.axd and ScriptResource.axd files

Posted: 16 Feb 2010 01:14 PM PST

Recently had this problem with a customer.  The full details and the solution follow. Problem The customer had an AJAX website where intermittently he sees that the webresource.axd and scriptresource.axd come down from the server as 0 bytes and therefore the page is incorrect. When the issue happens, it keeps happening until the customer does an IIS reset or reloads the AppDoman by making some changes in the web.config. The customer can repro the issue faster if he has HTTP Compression turned on but the issue happens even without compression. In the Fiddler, netmon or FREB tracing, we see that the server sends a HTTP 200 OK response and only the response headers with no body. Cause There are a few things at work here.  First there...(read more)

Project settings changes with VS2010

Posted: 16 Feb 2010 11:44 AM PST

Hi, I am Andreea Isac, a developer on the Visual C++ team at Microsoft. I would like to present you a summary of all project settings that are stored in a different manner or place with Visual Studio 2010, compared with previous VS releases.

 

MSBuild syntax

If you explore your project files on disk, you will notice that our default project extension changed from .vcproj to .vcxproj. The file extension for property sheets changed from .vsprops to .props and that their content format changed to msbuild syntax. As Marian Luparu explains in this blog post, moving to the msbuild syntax is a big step forward for VC build system. It provides to C++ developers with an open, extensible and customizable architecture, enriched with cool features (like better diagnostics).

 

Custom build rules

Custom build rules are no longer implemented solely via .rules files, but through a triplet of files .props/.targets/.xml.  VS2010 automatically converts any rules files that your projects reference into their corresponding .props/.targets/.xml. We plan to publish a separate blog post about custom build rules, but until then let me briefly describe the three files. The xml file supports the property page UI of the custom build rule and defines at the same time the task that will be invoked during build. The props file contains the default values for the properties defined in the xml file. The targets file defines the build behavior of the custom build rule. Custom build rules information is better structured in three distinct components (a property sheet, an inline task and a property page) and integrates more seamlessly with project system and build features.

 

Filters

If you inspect the content of the project file you will see how the filters information is no longer defined there. They exist now in a complementary file, located at the same level as the project file on disk, always having the following format for the name: [ProjectName].vcxproj.filters. Thus, the build information is separated from the solution explorer display information and incremental build will not be affected by an exclusive-UI settings change.

 

Project dependencies

Project dependencies information is not defined in the solution file anymore, but in the project file, as a project reference.

What we have defined in the Orcas solution file after adding DependencyProject.vcproj as dependency for MainProject.vcproj (via ProjectàProject Dependencies… menu):

 

MyProject.vcproj:

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DependencyProject", "DependencyProject\DependencyProject.vcproj", "{AD3B5768-7679-4CEC-B4A7-3AD056B3632C}"

EndProject

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MainProject", "MainProject\MainProject.vcproj", "{BA6A25FC-401B-4F6F-BAF0-083708C6502A}"

                ProjectSection(ProjectDependencies) = postProject

                                {AD3B5768-7679-4CEC-B4A7-3AD056B3632C} = {AD3B5768-7679-4CEC-B4A7-3AD056B3632C}

                EndProjectSection

EndProject

 

It looks in the VS2010 project file like this:

 

MyProject.vcxproj:

  <ItemGroup>

    <ProjectReference Include="..\DependencyProject\DependencyProject.vcxproj">

      <Project>{ad3b5768-7679-4cec-b4a7-3ad056b3632c}</Project>

      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>

    </ProjectReference>

  </ItemGroup>

 

The project name and GUID are information taken from the Orcas solution file. ReferenceOutputAssembly metadata is used to control whether the assembly pointed by the referenced project will be included or not into the command line of the compiler, during the build of the main project. Since we converted a relationship of "dependency" (as we call it in Orcas), which means only build order, we set the ReferenceOutputAssembly metadata to false.

 

Since a project reference and a project dependency are such close concepts, it makes sense to have them represented together, in a consistent way.

To demonstrate the difference between converting an Orcas project dependency and an Orcas project reference, consider the following example of a referenced project added in Orcas via Project Properties - Framework and References.

In the Orcas project we would have:

 

MyProject.vcproj:

               <References>

                                <ProjectReference

                                                ReferencedProjectIdentifier="{C0F77507-0B6F-41AC-A576-2D462FED270E}"

                                                RelativePathToProject=".\ReferenceProject\ReferenceProject.vcproj"

                                />

                </References>

 

 

And in the VS2010 project we convert to:

 

MyProject.vcxproj:

<ItemGroup>

    <ProjectReference Include="..\ReferenceProject\ReferenceProject.vcxproj">

      <Project>{c0f77507-0b6f-41ac-a576-2d462fed270e}</Project>

      <CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>

      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>

    </ProjectReference>

  </ItemGroup>

 

The end result of the above is both projects DependencyProject and ReferenceProject showing up in the Framework and References window. In VS2008, only ReferenceProject would show up.

 

Note, that if you need to go back to VS2008 for a quick experiment, your project does have such dependencies and you are not using your source control for this, changing the converted solution header section with the VS2008 version will result into losing all your P2P information.

 

VC Directories

We also implemented VC directories differently with VS2010. They are no longer found in Tools à Options à Project and Solutions, but in the property pages of a loaded project. The data support behind the UI consists of user property sheets that are normally imported by any project from [LocalAppData]\Microsoft\MSBuild\v4.0. You can control the VC Directories settings by customizing what user property sheets to be imported in your projects and this way you can define per project or global VC Directories settings. This brings again consistency with msbuild syntax (to have a property sheet instead of an ini file), more flexibility in setting up multiple projects on the same machine (instead of having a rigid per user /per machine environment) and better source control experience with enlistments across different machines (instead of always changing the machine specific settings). Brian Tyler explains thoroughly this change and its benefits in this blog post.

 

Additional reference search paths

A change that is tied with VC directories is that assembly search paths (from Property Pages à Framework and References à Additional reference search paths) is now part of the VC directories section, in the property pages of a loaded project. It makes sense to have all the paths defining the build environment defined in the same place.

 

Source control information

Another settings location change that happens with conversion to VS2010 is project source control information for mssccprj.scc hint file based providers (like Visual Source Safe). Since the project file extension changed to .vcxproj, source control providers may not able to track this new extension and create mssccprj.scc hint files for it. This change does not apply for solution source control information (because the .sln extension remained the same), or for any other types of files except the project file.

 

An example is, in VS2008, if the source control provider is able to write a mssccprj.scc file and persist there the project bindings (which is the default case for the vcproj files), the mssccprj.scc file would look like this:

 

Mssccprj.scc:

SCC = This is a Source Code Control file

[MyProject.vcproj]

SCC_Aux_Path = "\\SCCServer\SCCDatabase"

SCC_Project_Name = "$/MyProject.root/MyProject/MyProject", IQAAAAAA

 

VS2008 will then be able to use the binding from this provider-generated file, and the vcproj project file will only contain "SAK" triggers:

 

MyProject.vcproj:

                SccProjectName="SAK"

                SccAuxPath="SAK"

                SccLocalPath="SAK"

                SccProvider="SAK"

 

By default VS2010 does not find the mssccprj.scc file and the project file will contain the following source control information:

 

MyProject.vcxproj:

    <SccProjectName>"$/MyProject.root/MyProject/MyProject", IQAAAAAA </SccProjectName>

    <SccAuxPath></SccAuxPath>

    <SccLocalPath>.</SccLocalPath>

    <SccProvider>MSSCCI:Microsoft Visual SourceSafe</SccProvider>

 

SccAuxPath value wasn't migrated into the new project file because usually this property stores user specific information. This is migrated into the solution suo file.

 

Note that the recognized project extensions might be settable in the source control provider UI, e.g. for SourceSafe the project extension can be added in SourceSafe Explorer/Tools/Options/File Types/CreateSccFiles list.

 

Let us know if you have any questions.

 

Andreea Isac

Software Developer Engineer

VC Project System and Build Team

 

No comments:

Post a Comment