john1990_1 Ответов: 1

Игнорирует ли его публикация проекта с добавленной, но неиспользуемой ссылкой?


Я добавил ссылку на Presentation Core 4.0 в свой проект, затем метод, в котором он используется для проверки того, не работает ли ключ Win (только в этом методе Presentation Core 4.0 используется в моем проекте и решении), я удалил все ссылки на этот метод, что означает, что строки внутри этого метода не могут работать, и я забыл удалить ссылку на Presentation Core в своем проекте.

Я удалил ссылку на Presentation Core 4.0 из проекта. Должен ли я опубликовать его снова, чтобы улучшить размер установленной программы и/или производительность, или это то же самое?

Что я уже пробовал:

У меня есть этот метод, который использует Presentation Core 4.0, но без ссылок на mehtod.

static bool isWinPrsd()
{
    if (System.Windows.Input.Keyboard.IsKeyDown(System.Windows.Input.Key.LWin) ||
        System.Windows.Input.Keyboard.IsKeyDown(System.Windows.Input.Key.RWin))
    {
        return true;
    }
    else
    {
        return false;
    }
}

1 Ответов

Рейтинг:
9

Dave Kreskowiak

Если у вас есть ссылка на внешнюю библиотеку, то в разделе Ссылки в обозревателе решений файлы развертываются вместе с проектом, даже если на самом деле эта библиотека не используется кодом.

Если у вас есть код в файлах C# в проекте, этот код компилируется и заканчивается в результирующем файле .EXE.

Неиспользуемый код не оказывает никакого влияния на производительность, хотя он будет иметь небольшое влияние на результат .Размер файла EXE или .DLL.


john1990_1

Спасибо, я не могу найти его именем "презентация" в Проводнике Windows папки моей программы (исходный код) (со сборок presentationcore 4.0 ссылка), она встроена в Windows, я думаю, поэтому она не займет много места в опубликованной программе, ни в Проводнике Windows, сори код другой папке, чем приговор, в котором он говорит, что она ссылается, может быть, против обнаруживает, что эта библиотека не используется (там несколько линий, но эти линии не могут работать) и не заботится, чтобы загрузить его с Windows или даже удаляет предложение, которое связано с опубликованной программой.

Dave Kreskowiak

ЧТО??? Где я когда-нибудь упоминал "презентацию" или проводник файлов Windows?

Я сказал под ссылками в обозревателе решений. Вы знаете это окно, которое начинается с Вашего решения в качестве верхней строки, затем проект под ним, свойства и ссылки.

john1990_1

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

Dave Kreskowiak

Я уже говорил об этом. Да, если на сборку ссылаются, даже если ваш код ее не использует, она все равно развертывается.

john1990_1

Большое спасибо, это увеличение опубликован размер программы, если соответствующие библиотеки DLL в Windows?

Dave Kreskowiak

На это нет прямого ответа. Посмотрите в своей папке bin\Release после того, как проект будет построен. Если.DLL - это или .OCX или что-то еще находится в этой папке, она развертывается, за исключением .PDB-файл.

john1990_1

Большое спасибо.

john1990_1

Должен ли я повторно опубликовать его после удаления ссылки PresentationCore 4.0 в VS в решении? (чтобы сделать программу меньше и/или с лучшей производительностью).

Dave Kreskowiak

Если вы хотите освободить дисковое пространство, используемое сборкой, которая используется в вашем коде, да, вам придется удалить старое развертывание и выполнить новое развертывание.

В зависимости от используемого метода новое развертывание не будет удалять файлы из старого развертывания, если они больше не нужны.

BillWoodruff

+5 Дэйв к. в лучшем виде :)