How to get visual studio debugger to completely ignore original source file location










0















I'm beginning the work of moving an internal class library (.net framework, C#) to a series of nuget .net standard packages, which we will also serve internally. I'm in the research phase.



And I am attempting to research using the VS (2017) debugger and working to create our conventions for where debug versions of the packages (with symbols) will be and where the release versions (without symbols) will be.



I build a small dummy .net standard package in one solution, and have used nuget add to place it in a file share. And I have successfully consumed it in a different solution.



However, when I try to step into the code in the consuming solution, somehow, visual studio is doing something smart and actually stepping me into the source at its ORIGINAL location. Which is fine in some ways of thinking about it, but I want to simulate the situation of a different developer on a different machine consuming the package and not having that original source available, such that the only way to step into packaged code would be to consume a debug version with symbols. But visual studio is foiling me by figuring out the original source location and I don't see how it is doing that.



How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?



Thanks in advance.










share|improve this question


























    0















    I'm beginning the work of moving an internal class library (.net framework, C#) to a series of nuget .net standard packages, which we will also serve internally. I'm in the research phase.



    And I am attempting to research using the VS (2017) debugger and working to create our conventions for where debug versions of the packages (with symbols) will be and where the release versions (without symbols) will be.



    I build a small dummy .net standard package in one solution, and have used nuget add to place it in a file share. And I have successfully consumed it in a different solution.



    However, when I try to step into the code in the consuming solution, somehow, visual studio is doing something smart and actually stepping me into the source at its ORIGINAL location. Which is fine in some ways of thinking about it, but I want to simulate the situation of a different developer on a different machine consuming the package and not having that original source available, such that the only way to step into packaged code would be to consume a debug version with symbols. But visual studio is foiling me by figuring out the original source location and I don't see how it is doing that.



    How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?



    Thanks in advance.










    share|improve this question
























      0












      0








      0








      I'm beginning the work of moving an internal class library (.net framework, C#) to a series of nuget .net standard packages, which we will also serve internally. I'm in the research phase.



      And I am attempting to research using the VS (2017) debugger and working to create our conventions for where debug versions of the packages (with symbols) will be and where the release versions (without symbols) will be.



      I build a small dummy .net standard package in one solution, and have used nuget add to place it in a file share. And I have successfully consumed it in a different solution.



      However, when I try to step into the code in the consuming solution, somehow, visual studio is doing something smart and actually stepping me into the source at its ORIGINAL location. Which is fine in some ways of thinking about it, but I want to simulate the situation of a different developer on a different machine consuming the package and not having that original source available, such that the only way to step into packaged code would be to consume a debug version with symbols. But visual studio is foiling me by figuring out the original source location and I don't see how it is doing that.



      How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?



      Thanks in advance.










      share|improve this question














      I'm beginning the work of moving an internal class library (.net framework, C#) to a series of nuget .net standard packages, which we will also serve internally. I'm in the research phase.



      And I am attempting to research using the VS (2017) debugger and working to create our conventions for where debug versions of the packages (with symbols) will be and where the release versions (without symbols) will be.



      I build a small dummy .net standard package in one solution, and have used nuget add to place it in a file share. And I have successfully consumed it in a different solution.



      However, when I try to step into the code in the consuming solution, somehow, visual studio is doing something smart and actually stepping me into the source at its ORIGINAL location. Which is fine in some ways of thinking about it, but I want to simulate the situation of a different developer on a different machine consuming the package and not having that original source available, such that the only way to step into packaged code would be to consume a debug version with symbols. But visual studio is foiling me by figuring out the original source location and I don't see how it is doing that.



      How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?



      Thanks in advance.







      c# visual-studio debugging nuget visual-studio-debugging






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 15 '18 at 21:42









      Stephan GStephan G

      5402722




      5402722






















          1 Answer
          1






          active

          oldest

          votes


















          1















          How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?




          You can try to specify the Symbols of that .net standard project to exclude from automatic loading.



          Detail:



          As we know:




          The Program database (.pdb) files, also called symbol files, map
          identifiers and statements in your project's source code to
          corresponding identifiers and instructions in compiled apps.



          Symbol files also show the location of the source files, and
          optionally, the server to retrieve them from.




          And the default setting of symbols loading for debugging in Visual Studio is that Load all modules:



          enter image description here



          That is the reason why Visual Studio smart and actually stepping your into the source at its ORIGINAL location.



          So, to resolve this issue, we need to disable Visual Studio "Load all modules", we could specify excluded modules for your .net standard project.



          To accomplish this, click the link on that window, then add the name of your .net standard:



          enter image description here



          Then Visual Studio get to be "dumber", not find the ORIGINAL location.



          Hope this helps.






          share|improve this answer






















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53328294%2fhow-to-get-visual-studio-debugger-to-completely-ignore-original-source-file-loca%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1















            How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?




            You can try to specify the Symbols of that .net standard project to exclude from automatic loading.



            Detail:



            As we know:




            The Program database (.pdb) files, also called symbol files, map
            identifiers and statements in your project's source code to
            corresponding identifiers and instructions in compiled apps.



            Symbol files also show the location of the source files, and
            optionally, the server to retrieve them from.




            And the default setting of symbols loading for debugging in Visual Studio is that Load all modules:



            enter image description here



            That is the reason why Visual Studio smart and actually stepping your into the source at its ORIGINAL location.



            So, to resolve this issue, we need to disable Visual Studio "Load all modules", we could specify excluded modules for your .net standard project.



            To accomplish this, click the link on that window, then add the name of your .net standard:



            enter image description here



            Then Visual Studio get to be "dumber", not find the ORIGINAL location.



            Hope this helps.






            share|improve this answer



























              1















              How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?




              You can try to specify the Symbols of that .net standard project to exclude from automatic loading.



              Detail:



              As we know:




              The Program database (.pdb) files, also called symbol files, map
              identifiers and statements in your project's source code to
              corresponding identifiers and instructions in compiled apps.



              Symbol files also show the location of the source files, and
              optionally, the server to retrieve them from.




              And the default setting of symbols loading for debugging in Visual Studio is that Load all modules:



              enter image description here



              That is the reason why Visual Studio smart and actually stepping your into the source at its ORIGINAL location.



              So, to resolve this issue, we need to disable Visual Studio "Load all modules", we could specify excluded modules for your .net standard project.



              To accomplish this, click the link on that window, then add the name of your .net standard:



              enter image description here



              Then Visual Studio get to be "dumber", not find the ORIGINAL location.



              Hope this helps.






              share|improve this answer

























                1












                1








                1








                How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?




                You can try to specify the Symbols of that .net standard project to exclude from automatic loading.



                Detail:



                As we know:




                The Program database (.pdb) files, also called symbol files, map
                identifiers and statements in your project's source code to
                corresponding identifiers and instructions in compiled apps.



                Symbol files also show the location of the source files, and
                optionally, the server to retrieve them from.




                And the default setting of symbols loading for debugging in Visual Studio is that Load all modules:



                enter image description here



                That is the reason why Visual Studio smart and actually stepping your into the source at its ORIGINAL location.



                So, to resolve this issue, we need to disable Visual Studio "Load all modules", we could specify excluded modules for your .net standard project.



                To accomplish this, click the link on that window, then add the name of your .net standard:



                enter image description here



                Then Visual Studio get to be "dumber", not find the ORIGINAL location.



                Hope this helps.






                share|improve this answer














                How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?




                You can try to specify the Symbols of that .net standard project to exclude from automatic loading.



                Detail:



                As we know:




                The Program database (.pdb) files, also called symbol files, map
                identifiers and statements in your project's source code to
                corresponding identifiers and instructions in compiled apps.



                Symbol files also show the location of the source files, and
                optionally, the server to retrieve them from.




                And the default setting of symbols loading for debugging in Visual Studio is that Load all modules:



                enter image description here



                That is the reason why Visual Studio smart and actually stepping your into the source at its ORIGINAL location.



                So, to resolve this issue, we need to disable Visual Studio "Load all modules", we could specify excluded modules for your .net standard project.



                To accomplish this, click the link on that window, then add the name of your .net standard:



                enter image description here



                Then Visual Studio get to be "dumber", not find the ORIGINAL location.



                Hope this helps.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 16 '18 at 9:03









                Leo Liu-MSFTLeo Liu-MSFT

                20.5k22634




                20.5k22634





























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53328294%2fhow-to-get-visual-studio-debugger-to-completely-ignore-original-source-file-loca%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Top Tejano songwriter Luis Silva dead of heart attack at 64

                    ReactJS Fetched API data displays live - need Data displayed static

                    政党