在app.config中引用程序集

时间:2013-06-24 20:18:57

标签: c# wpf xaml app-config gac

我知道之前已经问过这个问题但不是在这个背景下!

我有一个WPF-Application(第三方),它允许我添加一个XAML ResourceDictionary,所以我创建了一个带有实现ICommand接口的Class的ClassLibrary 并在Execute-Method中调用WebService。

现在我想将此命令附加到应用程序中的控件!

这是我的ResourceDictionary:

        <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                        xmlns:iet="clr-namespace:iETSolutions.Enterprise.WorkCenter.Controls;assembly=iETSolutions.Enterprise.WorkCenter.Controls"
                        xmlns:custom="clr-namespace:Custom.Test;assembly=Custom.Test">
                 <Style TargetType="{x:Type Button}">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Name}" Value="SearchButton">
                            <Setter Property="Template">
                                <Setter.Value>
                                    <ControlTemplate TargetType="{x:Type Button}">
                                        <Grid>
                                            <Button Command="{StaticResource cmd}" CommandParameter="{Binding ElementName=SearchTextBox, Path=Text}">
                                                <Image Source="pack://application:,,,/iETSolutions.Enterprise.WorkCenter;component/Images/PNG/iET_search.png" />
                                            </Button>
                                        </Grid>
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                        </DataTrigger>
                    </Style.Triggers>
                 </Style>
</ResourceDictionary>

所以这就像魅力一样,如果我将我的Custom.Test.dll添加到GAC但是如果我尝试从app.config引用DLL那么CommandCall会失败......

以下是我在App.config中尝试引用程序集的内容:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">    
      <dependentAssembly>
        <assemblyIdentity name="Custom.Test" publicKeyToken="314daa73fc3fb7cf" culture="neutral"/>
        <codeBase version="1.0.0.0" href="http://localhost/Custom/Custom.Test.dll" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

我是否有可能在不需要将自定义DLL放入GAC的情况下将其工作?

对于Application的RollingOut,在App.config中进行引用要容易得多......

1 个答案:

答案 0 :(得分:2)

您是否尝试将Custom.Test.DLL放在应用程序可执行文件所在的同一目录中?