Comments
5 comments
-
hmm, seems a little backwards!
Can you close sa and then use process explorer to see what is holding on to the pdbs? what happens if you move the pdbs in question then try to build without debugging infomation? -
You get this if the output path of the VS build is the same as the output path for SmartAssembly. i.e. You can get this error if "Output Path" in Visual Studio->Properties->Build is set to "\obj\Release\MyApplication.exe". It should be set to something like "\bin\Release\MyApplication.exe"
The PDB thing isn't about SmartAssembly's PDB option, it's about SA reading from the build output of VS (in obj\release) and writing it to the same file (in obj\release).
Tell me if this helps! -
-
Just ran it under procmon and saved the log for both cases, with and without pdb creation.
For me it looks like SA shoots in its own foot since VS is closing the file before passing control to SA.
The difference is that with CreatePDB=0 SA tries to delete the pdb file which VS created while it is still open for reading. With CreatePDB=1, SA writes to a new .pdb file in the temp folder then calls {CLRTools}.exe to process both files and does NOT try to delete the file.
Can send you the logs. -
Oh, one more thing. CreatePDB=0 works fine when I change the build settings from "full" or "pdb-only" to "none". While I might understand that if SA depends on the PDB creation settings of the compiler it could report an error, it definitely should not be the current one.
Add comment
Please sign in to leave a comment.
Here is the build log