我想在一个独立的dll中包含一组样式,可以从许多不同的WOF类中引用它们来定义常见样式.
我已经创建了独立的dll并尝试引用它但是遇到了问题.
这是独立dll的代码:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="myStyle" TargetType="Button">
<Setter Property="Background" Value="Orange" />
<Setter Property="FontStyle" Value="Italic" />
<Setter Property="Padding" Value="8,4" />
<Setter Property="Margin" Value="4" />
</Style>
<!-- store here your styles -->
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
这是我试图引用它的地方:
<src:GX3ClientPlugin.Resources>
<ResourceDictionary Source="pack://application:,,,/GX3StyleResources.dll;component/GX3StyleResources.xaml" />
</src:GX3ClientPlugin.Resources>
Run Code Online (Sandbox Code Playgroud)
运行时,我得到以下异常:
无法加载文件或程序集"GX3StyleResources.dll,Culture = neutral"或其依赖项之一.该系统找不到指定的文件.
有任何想法吗?
我的应用程序中有一个当前程序集,我想从外部cs文件中添加一个类到此程序集中.有可能吗?我想像插件一样使用它.现在我正在尝试使用:
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
Run Code Online (Sandbox Code Playgroud)
和Activator,但没有成功.我的应用程序是使用Roslyn,所以也许它可以做到.任何想法将不胜感激.
编辑:下一个问题是:我可以使用外部文件(带有类的cs文件)从该文件中获取实例,但类的构造函数需要从当前的程序集引用sceneManager.那么可以向Roslyn发送类似的东西并从中获取类的实例吗?
我正在尝试使用调度计时器,但我的c#app无法找到命名空间.这是错误:
找不到类型或命名空间名称'DispatcherTimer'(您是否缺少using指令或程序集引用?)
这是我正在使用的:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Globalization;
using System.Text;
using System.Threading;
using System.Timers;
using System.Windows.Forms;
Run Code Online (Sandbox Code Playgroud)
这是代码:
DispatcherTimer timer1 = new DispatcherTimer();
Run Code Online (Sandbox Code Playgroud) 错误信息:System.InvalidCastException:无法将类型为"ClassLibrary1.Plugin"的对象强制转换为"PluginInterface.IPlugin".
我正在尝试做的是让我的程序访问一个程序集并运行它可能具有的任何东西.这会加载.dll
private void AddPlugin(string FileName)
{
Assembly pluginAssembly = Assembly.LoadFrom(FileName);
foreach (Type pluginType in pluginAssembly.GetTypes())
{
if (pluginType.IsPublic)
{
if (!pluginType.IsAbstract)
{
Type typeInterface = pluginType.GetInterface("PluginInterface… true);
if (typeInterface != null)
{
Types.AvailablePlugin newPlugin = new Types.AvailablePlugin();
newPlugin.AssemblyPath = FileName;
newPlugin.Instance = (IPlugin)Activator.CreateInstance(plugin…
// Above line throws exception.
newPlugin.Instance.Initialize();
this.colAvailablePlugins.Add(newPlugin);
newPlugin = null;
}
typeInterface = null;
}
}
}
pluginAssembly = null;
}
Run Code Online (Sandbox Code Playgroud)
我的程序和程序集都有这两个接口:
using System;
namespace PluginInterface
{
public interface IPlugin
{
IPluginHost Host { get; set; …Run Code Online (Sandbox Code Playgroud) 我有一个旧项目,它使用WCF来为SQL Server提供C#CLR触发器.我总是通过运行脚本来安装它.
但是我决定转到VS 2012上的SSDT项目.我从空数据库导入了项目.WCF功能取决于.net框架中的几个程序集
SMdiagnostics
System.Web
System.Messaging
system.identitymodel
system.identitymodel.selectors
microsoft.transactions.bridge
System.ServiceModel
Run Code Online (Sandbox Code Playgroud)
所以我在项目中引用了这些dll.我还将它们添加到Assemblies子文件夹下的项目中.
但是,当我创建部署脚本时,这些程序集不在其中.
所以当我尝试将脚本发布到数据库时,我收到一个错误.
程序集'system.servicemodel,version = 3.0.0.0,culture = neutral,publickeytoken = b77a5c561934e089.' 在SQL目录中找不到.
如果我尝试创建自定义脚本以将程序集添加到db:
create assembly [SMdiagnostics]
from 'C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\SMdiagnostics.dll'
with permission_set = unsafe
go
Run Code Online (Sandbox Code Playgroud)
我收到错误
错误:SQL70502:程序集源无效.只允许二进制文字.
如何从.NET添加程序集以与我的SSDT项目一起部署?
谢谢.
deployment wcf .net-assembly visual-studio-2012 sql-server-data-tools
我正在为我的dot net dll设置汇编版本
Assmebly版本格式低于,
"major version.minor version.build number.revision"
我在下面设置Verison,
200.1.1.0;
Run Code Online (Sandbox Code Playgroud)
现在我的问题是我是否需要在次要版本,内部版本号和修订号中保留前导零(200.01.01.00) 或者不带前导零(200.1.1.0).这是正确的做法?是否有可用的Microsoft指南?我没有找到谷歌搜索的任何指导方针.
.Net命名空间可以跨多个程序集吗?具体的例子会有所帮助.
一些背景:我有一个项目,它从我的解决方案中的其他项目收集所有诊断(跟踪源)信息.我需要一种方法来获取主项目名称,以便我可以为转储文件提供正确的唯一名称.
问题:在我遇到这篇博客文章之前,我找不到关于如何获取启动项目的程序集名称的明确答案:http://weblog.west-wind.com/posts/2009/Jun/09/Getting -the-应用程序-启动-装配式,WPF设计器
我试着解释我的问题.
我有自己的Windows服务(WS).这个WS引用Helpers.dll.Helpers.dll它是我自己的类库,有几个引用.其中一个参考是System.Web.Mvc.dll.
例如,如果我在Helpers.dll我的WS上添加引用,那么所有引用Helpers.dll都不会被添加到WS中.(在大多数情况下,这种行为是正确的,我认为)
我正在尝试Copy Local = True在Syste.Web.Mvc.dll(Helpers.csproj)上设置引用的内部属性
<Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
</Reference>
Run Code Online (Sandbox Code Playgroud)
但是,没有任何改变.
如果没有放在Helpers.dll中的引用,我的WS无法正常工作.
TypeInitializationException将被扔进rintume.(在尝试执行AppDomain.CurrentDomain.GetAssemblies()此程序集之一的静态构造函数中发生异常,Helpers.dll并且链接已启用System.Web.Mvc.dll)
如何使用此库的所有引用添加类库引用?
确切地说,我可以手动System.Web.Mvc.dll在WS项目中添加这个references(),我想通过设置或.config文件或其他方式来实现.
实际上,我使用下面的代码进行动态解析汇编:
无论如何,在解析程序集的第一个使用类之后,我在WS中得到了异常AssemblyHelpers- 我使用的是WS(这只放在Helpers项目的bin文件夹中,而不是在WS的 bin foder中).Helpers.dllSystem.Web.Mvc.dlldll
但是我的WS …
可以通过将程序集版本指定为"1.0.*"来自动增加程序集版本,它会自动确定构建版本和修订版本号.但是,如果有人希望他们的文件版本与大会版本相同,出于一致性或其他原因,如何在不每次手动输入的情况下实现这一目标?"1.0.*"方法不适用于AssemblyFileVersion.
.net-assembly ×10
c# ×9
.net ×4
dll ×2
namespaces ×2
activator ×1
dependencies ×1
deployment ×1
increment ×1
reference ×1
reflection ×1
roslyn ×1
version ×1
versioning ×1
wcf ×1
wpf ×1