O motivo é que você tem dois sites segmentados na mesma pasta física. E existe uma herança no web.config .
http://vmsomething
é o pai e http://vmsomething/my_application_virtdir
é seu filho. O filho web.config herda todos os elementos do seu pai. E o web.config geralmente não é projetado para funcionar em tal cenário. Você pode ter muita dor de cabeça quando outros utilitários instalados do nuget tentarem modificar o seu web.config.
Se você quiser acessar seu website em http://vmsomething/my_application_virtdir
, a solução mais fácil será alterar o caminho físico de http://vmsomething
para algo diferente.
Se você quiser testar como o seu site funciona sem especificar o virtdir, você poderá configurar um site separado no IIS (não no site padrão) e segmentá-lo para o mesmo caminho físico. Então você poderá testar as duas formas de implantação ao mesmo tempo.