at LiveSample.SingleLiveSample..ctor()
at LiveSample.Program.Main()». Вот несколько снимков экрана:


На этом этапе я отладил пример проекта, и он скомпилировался идеально, но в во время выполнения эта ошибка всегда выдавалась. Во время отладки я обнаружил, что файл, выдавший исключение, представлял собой DLL под названием «SsmSdkWrapper.dll или одну из ее зависимостей», принадлежащую проекту C++. Пока я не использовал версию для компиляции проектов C++ 10-летней давности (v120, WinSDK 8.1, Visual Studio 2013) для компиляции проекта SsmSdkWrapper, ошибка не переставала появляться. Как только я смог запустить приложение без каких-либо исключений, я попытался развернуть его на клиентской машине. К сожалению, выдается та же ошибка FileNotFoundException, и я не могу понять, что происходит. Скорее всего, это может быть проблема с директивами, но даже несмотря на применение директив полных разрешений к файлам в папке развертывания с помощью CASPOL.exe, ошибка продолжала отображаться.
Я подумал о проблемах с совместимостью 32/64-разрядных версий, но обе машины, клиентская и моя, работают под управлением 64-разрядной версии Windows 11.
Я глубоко благодарен.
Редактировать 1:
Это конструктор LiveSample:
Код: Выделить всё
public SingleLiveSample()
{
InitializeComponent();
_logger = new DebugLog(txtStatus);
_cameraList = new List();
_deviceList = new List();
}
Код: Выделить всё
//
// SingleLiveSample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(807, 517);
this.Controls.Add(this.clearLog);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.grpAudioControl);
this.Controls.Add(this.lblStatus);
this.Controls.Add(this.txtStatus);
this.Controls.Add(this.grpLiveControl);
this.Controls.Add(this.grpLogInInfo);
this.Name = "SingleLiveSample";
this.Text = "Live Sample";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.LiveSample_Closing);
this.Load += new System.EventHandler(this.LiveSample_Load);
this.grpLogInInfo.ResumeLayout(false);
this.grpLogInInfo.PerformLayout();
this.grpLiveControl.ResumeLayout(false);
this.grpLiveControl.PerformLayout();
this.grpAudioControl.ResumeLayout(false);
this.grpAudioControl.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
Код: Выделить всё
private void LiveSample_Load(object sender, EventArgs e)
{
ssmSdkWrapper = new SsmSdkWrapper(this.OnResponse, this.OnEvent, this.OnVideo, this.OnAudio);
ssmSdkWrapper.InitializeEvent();
ssmSdkWrapper.InitializeMedia(pictureBox1.Handle, 0, ref this.mediaId);
ssmSdkWrapper.MoveWindow((UInt32)this.mediaId, 0, 0, pictureBox1.Width, pictureBox1.Height);
}

Подробнее здесь: https://stackoverflow.com/questions/792 ... on-machine
Мобильная версия