Я пытаюсь создать библиотеку, которую я могу использовать повторно между проектами, но, к сожалению, не все ссылки из указанной библиотеки "вытягиваются" на проект приложения, ссылающийся на библиотеку ... надеюсь, я очищен ..
Позвольтемне объяснить.Я воспроизвел проблему в меньшем масштабе, вот установка.У меня есть решение Visual Studio, содержащее 2 проекта:
- SomeLib (библиотека классов .net Framework)
- TestApp (приложение wpf)
Ссылки TestApp SomeLib,Я добавил 2 nugets (и зависимости) в SomeLib:
- SharpDX.Direct2D
- Xceed.Wpf.Toolkit
SomeLib содержит этот класс:
public class TestMe
{
public TestMe()
{
SharpDX.Direct2D1.AntialiasMode thing = SharpDX.Direct2D1.AntialiasMode.Aliased;//use sharpdx for ... something.
}
}
... и этот пользовательский контроль WPF:
<UserControl x:Class="SomeLib.TestView"
...
xmlns:xtk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:xad="http://schemas.xceed.com/wpf/xaml/avalondock">
<Grid>
<xad:DockingManager>
<xad:DockingManager.Theme>
<xad:VS2010Theme />
</xad:DockingManager.Theme>
<xad:LayoutRoot>
</xad:LayoutRoot>
</xad:DockingManager>
</Grid>
</UserControl>
TestApp имеет MainWindow с использованием этого xaml:
<Window
...
xmlns:SomeLib="clr-namespace:SomeLib;assembly=SomeLib" x:Class="TestApp.MainWindow">
<Grid>
<SomeLib:TestView/>
</Grid>
</Window>
... и этого кода:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.Loaded += MainWindow_Loaded;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
SomeLib.TestMe thing = new SomeLib.TestMe();
}
}
Теперь, после сборки, я проверяю выходную папку и замечаю, что сборки «SharpDX» «вытягиваются» туда, но не сборки Xceed.
Интересно, используя конструкторы Visual Studio в представлении и окнеЯ вижу, как AvalonDock создается там без ошибок.
При запуске я получаю эту ошибку: System.Windows.Markup.XamlParseException: «Не удалось загрузить файл или сборку» Xceed.Wpf.AvalonDock
... ну конечно.
Теперь, что мне не хватает?почему сборки SharpDX правильно «тянутся» на дочерний проект, а не на Xceed?
EDIT : Спасибо, Зинов;использование любого из объектов, содержащихся в ссылке Xceed из кода c # , работает и делает так, чтобы у дочернего проекта была dll в выходном кодировщике.Итак, на данный момент вопрос заключается в том, есть ли способ сделать это из XAML?