我有一个应用程序,可以通过* .exe文件的路径执行另一个应用程序。两者都可以在我的计算机上正常工作,但在另一台计算机上却出现错误: “设置属性System.Windows.Controls.ContentControl.Content在字符串33的位置6处引发了异常。”
我试图跟踪它,所以我完全知道,它发生在第二个应用程序的InitializeComponent方法中。然后,我从该方法中捕获了错误,消息是: 调用匹配指定绑定约束(字符串9,位置23)的类型为'UPR.FeedBack.App.MainWindow'的构造函数时,引发了异常。”但是我什至无法想象,为什么会发生这种情况。
我还认为,问题出在第二台机器上缺少一些* .dll文件,但是我将项目的所有引用都设置为本地复制。
我试图在不分配Datacontext和配置窗口的情况下执行它,但这并不能解决问题。
执行过程:
process = new Process
{
StartInfo =
{
FileName = fileName,
Verb = "Open",
WindowStyle = ProcessWindowStyle.Normal,
Arguments = string.Join(" ", userName),
WorkingDirectory = processPath
}
};
process.Start();
MAINWINDOW.xaml.cs(第二个应用程序):
namespace UPR.FeedBack.App
{
/// <summary>
/// Логика взаимодействия для MainWindow.xaml
/// </summary>
public partial class MainWindow : MetroWindow
{
public MainWindow()
{
InitializeComponent();
DataContext = Bootstrapper.Container.Resolve<MainViewModel>();
ConfigureWindow();
}
}
}
MAINWINDOW.xaml(第二个应用程序):
<Controls:MetroWindow xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls" x:Class="UPR.FeedBack.App.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
xmlns:local="clr-namespace:InfrastructureLight.Common.Helpers;assembly=InfrastructureLight.Common"
mc:Ignorable="d"
xmlns:vm="clr-namespace:UPR.FeedBack.App"
Title="Title"
d:DataContext="{d:DesignInstance vm:MainWindow}">
如我所见,该错误位于'xmlns:vm =“ clr-namespace:UPR.FeedBack.App”“中。但是名称空间是正确的。再说一次:这些应用程序可以在我的计算机上正常运行,没有任何错误,但是在其他应用程序上我遇到了此类问题。
答案 0 :(得分:1)