Questions and Topics Suggestions

I keep getting emails from folks.

Most of the time, the questions folks asked are interesting to general audience. Some times I will have a new blog post to answer the question. But often I just hit reply, and missed the chance to share it with everyone.

Thus I create this post.

Please post your questions and topics suggestions in this post.

As always, I will try to answer the questions if I know how to. But I can’t promise how soon I will have the answer. If I don’t know the answer, I can help you to find the right contact.

[update: clarify my area of expertise]

A reminder, things in this post still apply:

Contact me in email

Which means, only things related to CLR loader and fusion. And I won’t do diagnose for you.

As part of the change, I disabled contact link. Sorry for the inconvenience.

Thanks for reading.

Comments (14)

  1. athos says:

    Seems I’m the first one?

    wow, really got hands full. sorry if my questions are too primary…. pls just reply if u have time… Thanks…

    now here i come :p

    1. Say I’m trying to build a .net server control(scA), which has a property(strCs) to specify a database connection string. so we can do as:

    scA sca = new scA();

    sca.strCs = "data source=localhost;initial catalog=Northwind;integrated security=SSPI;persist security info=False;workstation id=localhost;packet size=4096;"

    To make it convenient to developers, can we make another property(strScEval), so that…

    scA sca = new scA();

    sca.strCsEval = "Application["DatabaseConnectionString"]";

    sca.strCs = sca.Eval(sca.strCsEval);


    Here, Eval is a method of scA class that would evaluate it.

    Here( is an example from "NETMaster" that could realize an "Eval" function that runs dynamic C# source code. However, NETMaster created a seperated Domain, from which it will be impossible to get the parent Domain’s information, such as the value of Applicatoin["DatabaseConnectionString"]. Is there a way out?

    2. Guess you know Lutz Roeder’s "reflector" (, yeah it’s quite helpful, however, it cannot show those metadata information, such as, for such a paragraph





    protected bool FirstLoad




    object b = ViewState["FirstLoad"];

    bool blFirstLoad = ((b == null) ? true : (bool)b);

    ViewState["FirstLoad"] = blFirstLoad;

    return blFirstLoad;




    ViewState["FirstLoad"] = value;



    , reflector won’t show those content in brackets. Is it possible to get those codes from a dll file?

    oh, still lots of questions but i guess i’d better stop here :p please give me some indication if you are free…

    Thanks in advance.


    Liu Ren

  2. Per Bergland says:

    The seemingly unoverridable fact that when the CLR is loaded it always loads the latest version of the framework bugs me, since it makes it so hard for me to debug COM+ applications written in .NET 1.1 with 2.0 installed side-by-side (since VS.NET 2003 doesn’t grok .NET 2.0 + there are some breaking changes in xml serialization that I haven’t taken care of yet).

    It also makes it a pain to debug COM Interops loaded by other people’s native apps.

    I know I could write a manifest file for those native apps, and I know there’s this new stuff in XPSP2 that allows you to specify a .config file and I think also a .manifest file for dllhost.exe on a per-COM+ application, but couldn’t there be a way to specify your preferred CLR version for us developers?

  3. Yvonne Eu says:

    I have beta of 2.0 .NET Framework installed but need to create an utility for someone running 1.1 on their machine. Is there any way to tell my 2.0 to compile the executable suitable for 1.1?

  4. Yvonne Eu,

    Sorry it is not possible.

  5. Gabriel Rodriguez says:

    i’m using a smart client, when i run the app for the first time and the dll goes into cache. then i make a server build so the new changes are reflected on the server’s dll. (im using no touch deployment, btw) and when i run the app again, even though the created date and modified date is greater than the one on cache, its not downloading the latest dll.

    i tried setting my computer’s date to a week after today and then compiling so the created-date will be greater than the last dll for sure, and even though, it’s not downloading the latest dll unless i clean my temporary internet files.

    what’s the deal with this, do you have any idea?

    thanks a lot. any help will be greatly appreciated.

  6. Gabriel Rodriguez says:

    i did read that before i posted, i just have a couple of questions.

    The dll that is giving me problems is NOT strongly signed, so if the article you pointed me to is correct, it should download the latest version all the time and not cache it at all

    still, i close and reopen the browser, open the application and even though there’s still a new version on the server, it uses the one in cache.

    any ideas?

  7. Can you read the second quote of the blog above and see if that fixes your problem?

  8. Dave Walker says:

    I think I’ve found a bug in v1.1 with regards to publisher policy files during binding.

    If I have 2 publisher policy files that apply to the same DLL, both of which are in the GAC, but have different version numbers – e.g:

    policy.1.0.MyDll v:

    policy.1.0.MyDll v:

    Which policy should be applied when loading MyDll? It should be, right? Because that is the most recent version of the policy…

    Wrong! Fusion appears TO BE DOING SOME SORT OF STRING COMPARISON to figure which is the newest, so v1.0.0.5 is applied instead of v1.0.0.20.

    Please can you confirm that this is a bug in v1.1 and whether it is fixed for v2.



  9. Dave,

    Can you post a repro in MSDN feedback center?

    I talked to our test team. We cannot repro the problem you described.

  10. Lops says:

    While logged into the Guest account, I ran a program that installs assemblies into the GAC using your GAC API wrapper.

    The program doesn’t allow the Guest account to install into the GAC. But if I use gacutil /i from the command line Guest can install into the GAC.

    Is there a different permission set for gacutil?

  11. Lops,

    I am surprised to see gacutil -i works for guest account for you. I just tried it on my machine and it does not work.

    No there is no special permission for gacutil. It simply calls the Fusion GAC APIs.

  12. Lops says:

    Thanks for the reply.

    Actually, according to this article:

    If a user is part of the Power User group, they can install into the GAC (4th paragraph donw in the GAC section). My guest account is part of the Power User group.

  13. Lops,

    I am not sure what the problem is. Gacutil simply calls the API. If gacutil works, the wrapper should work as well.