VS 2010 (и publicize.exe) создают xxx_accessor.exe вместо .dll - PullRequest
1 голос
/ 02 сентября 2011

У меня странная проблема с приватными аксессорами и VS2010. Обычно VS и publicize.exe создают xyz_accessor.dll и xyz_accessor.pdb. Unitl вчера мой VS тоже сделал это. Но затем я построил решение через командную строку, используя компилятор VS2010 c #, так что ничего кроме VS обычно не делает. Решение построено без ошибок, но вместо того, чтобы получить xyz_accessor.dll, я получил xyz_accessor.exe. При попытке выполнить его, Windows говорит мне, что это не будет действительным приложением win32. Я пытался построить тесты также с publicize.exe, но это то же самое. Странно то, что VS может запускать все тесты, но с mstest.exe все тесты не пройдены, поскольку xyz_accessor.dll не найден, что связано с Unittest.dll, скомпилированным из тестового проекта.

Кто-нибудь знает, как решить эту проблему?

С уважением, Christian

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

Используйте MSBuild в своем решении вместо CSC, и оно должно собираться правильно (хотя не уверен насчет публикации)

0 голосов
/ 05 сентября 2011

Я использовал msbuild для решения. Но, похоже, я ошибся, говоря, что VS2010 компилирует accessor.dll. Этот проект был создан с vs2005, а модульные тесты - с vs 2008. Теперь при переходе на 2010 год создается файл .exe вместо .dll (по крайней мере, на моей рабочей станции). Я фактически использовал старую версию mstest (.net 3.5), не зная, и попробовал ее снова с новой версией после установки всех целевых структур проекта на 4.0. Теперь все работает как надо. единственное, что осталось странным, это то, что новый исполняемый файл всегда пишется маленькими буквами, а не как проект, которому он соответствует.

...