Личная информация (от программиста) в сборках.NET

Проходя через некоторые из моих приложений в прошлом, я заметил, что в сборку входит информация о том, где находится мой проект, мое имя пользователя (которое оказалось моим полным именем, а не моим указателем в Интернете) в Windows, и, честно говоря, я Я не уверен, что еще.

Теперь я знаю, что основной причиной этого является компиляция в Debug, так как это было расположение файлов в исходных файлах или файлах pdb (не могу вспомнить, какие именно).

Вопрос в том, какая другая информация, идентифицирующая личность, может оказаться в скомпилированных сборках, и что можно сделать, чтобы предотвратить ее попадание в сборку?

Я предполагаю, что если я просто переведу проект в режим Release, чтобы отключить символы отладки в скомпилированной сборке, это достигнет моей цели, однако мне все еще любопытно, чего еще мне не хватает.

Как правило, у меня нет проблем с людьми, которые знают, что я что-то сделал, но меня раздражало, что мое полное имя было в моих распределенных сборках без моего ведома.

3 ответа

Решение

В зависимости от вашей настройки VS, возможно, у вас может быть информация идентификации в информации о сборке (AssemblyInfo.cs). Если вы публикуете через ClickOnce, то есть также информация о публикации, которую вы можете получить на вкладке "Опубликовать". Оба эти тега являются полностью настраиваемыми.

Также возможно, что у вас есть файл лицензии для стороннего продукта, который содержит идентификационную информацию, которая должна распространяться вместе с приложением, как внешний файл или встроенный ресурс; если так, то, вероятно, вы мало что можете с этим поделать, кроме как сообщить об этом продавцу.

Помимо этих пунктов, я не могу представить себе никакой другой причины, по которой личная информация будет собрана в сборку. Отладочная информация поступает только в файл PDB - без этого вы не сможете получить символы или номера строк. Это относится как к режиму отладки, так и к релизу.

Вся эта информация находится в Visual Studio под Project/Properties/Application/Assembly Information, Большинство из них не является обязательным. Просто уберите то, что вы не хотите в сборке.

Вам также следует позаботиться о файлах документации XML, поскольку они могут содержать "конфиденциальную" информацию (как шутка программиста или, что еще хуже).

Другие вопросы по тегам