从Package中检索当前应用程序版本

虽然我可以使用以下代码获得程序集版本 var assembly = typeof(App).GetTypeInfo().Assembly; var assemblyVersion = assembly.GetCustomAttribute().Version; 我想从Package.appxmanifest中检索版本,在本例中为1.0.0.4 我希望能够访问Windows.ApplicationModel ,但这不适用于我

如何在Visual Studio 2017中向nuget包添加其他文件

我最近搬到了Visual Studio 2017社区版。 它有2个不错的新function 您不需要在csproj中明确包含源文件,它会自动执行此操作, 它可以直接构建nuget包。 我想将我的开源CodeFirstWebFramework DLL打包为nuget包。 除了包含DLL ,包还必须包含其他文件的整个目录树(包括.js,.tmpl,.css和.md文件)。 如何告诉Visual Studio我希望包中包含此目录树? 从我通过广泛搜索找到的信息,并忽略了涉及将文件添加到csproj的所有过时信息,我所能找到的只是将它们放在contentFiles文件夹中,但这似乎不起作用。 我的项目文件如下所示: net45 True Nikki Locke Trumphurst Ltd Easy to use web server for building web apps that use sql databases generated from c# classes 2017 Trumphurst Ltd. https://github.com/nikkilocke/CodeFirstWebFramework https://github.com/nikkilocke/CodeFirstWebFramework Github C# SQL Code First Web Server 我疯狂地猜测我可能需要从网上冲突和过时的信息中做些什么,我添加了以下内容: true 现在.nupkg文件中包含了contentFiles文件夹的内容(在两个地方,一个content文件夹和一个contentFiles文件夹)。 但是,当我在另一个项目中安装软件包时,内容文件不会出现,尽管它们列在obj文件夹的project.assets.json文件中。

C#中的List.Sort:使用null对象调用comparer

我使用内置的C#List.Sort函数和自定义比较器得到奇怪的行为。 由于某种原因,它有时会将比较器类的Compare方法与null对象作为参数之一调用。 但是,如果我使用调试器检查列表,则集合中没有空对象。 我的比较器类看起来像这样: public class DelegateToComparer : IComparer { private readonly Func _comparer; public int Compare(T x, T y) { return _comparer(x, y); } public DelegateToComparer(Func comparer) { _comparer = comparer; } } 这允许委托传递给List.Sort方法,如下所示: mylist.Sort(new DelegateToComparer( (x, y) => { return x.SomeProp.CompareTo(y.SomeProp); }); 因此,即使没有mylist的元素为null,上面的委托也会为x参数抛出一个空引用exception。 更新:是的我绝对相信它是参数x抛出空引用exception! 更新:我没有使用框架的List.Sort方法,而是尝试了一种自定义排序方法(即新的BubbleSort()。排序(mylist) ),问题就消失了。 正如我所怀疑的,List.Sort方法由于某种原因将null传递给比较器。

C#更新绑定到通用列表的combobox

我的表单上有一个combobox,它绑定到一个通用的字符串列表,如下所示: private List mAllianceList = new List(); private void FillAllianceList() { // Add alliance name to member alliance list foreach (Village alliance in alliances) { mAllianceList.Add(alliance.AllianceName); } // Bind alliance combobox to alliance list this.cboAlliances.DataSource = mAllianceList; } 然后,用户可以在combobox中添加或移除项目。 我在别处读过,只需在通用列表中添加或删除项目,combobox的内容就会自动更新; 如果我对它使用Sort(),应该会发生同样的事情。 但由于某种原因,我无法做到这一点。 我可以看到combobox的DataSource属性在我添加/删除/排序项时正确更新,但combobox中显示的内容不是DataSource属性中的内容。 我肯定错过了什么或做错了什么。 提前致谢! 编辑: 我选择的答案解决了添加和删除的问题,但是BindingList对象无法排序,这对我来说是必要的。 我找到了一个解决方案,通过inheritanceBindingList和添加排序function来构建自定义类,但我想知道在我的情况下是否有更简单的解决方案。 关于如何轻松解决这个问题的任何建议?

entity framework迁移不包括DefaultValue数据注释(EF5RC)

我有一个看起来像这样的课程: [Table(“Subscribers”, Schema = “gligoran”)] public class Subscriber { [Key] public string Email { get; set; } [Required] [DefaultValue(true)] public bool Enabled { get; set; } } 创建迁移以包含此类时,我得到: public partial class AddSubscriberClass : DbMigration { public override void Up() { CreateTable( “gligoran.Subscribers”, c => new { Email = c.String(nullable: false, maxLength: 128), Enabled = c.Boolean(nullable: […]

当启动应用程序是控制台应用程序时,防止iisexpress在解决方案中运行网站

我有一个包含许多项目的解决方案。 即使我将web项目的启动选项设置为: 不要打开页面。 等待来自外部应用程序的请求。 使用自定义网络服务器 基本URL: http://localhost 。 启动项目: 单一启动项目 选择控制台应用程序(不是网站) 当我按下开始调试时,IIS express启动(显示在任务栏上)。 如何阻止IIS Express启动? 我只运行一个控制台应用程序,并且不希望IIS Express运行。 实际上,解决方案中的所有网站都在IIS中启动,并且它们不必要地消耗我机器上的资源。

如何返回具有特定View的ActionResult(不是控制器名称)

我在MVC Controller中有一个方法SendMail。这个方法调用其他方法ValidateLogin。 这是validation登录的签名: private ActionResult ValidateLogin(Models.ResetPassword model) 当我从SendMail调用ValidateLogin时,出现此exception是因为控制器尝试搜索视图SendMail,但我想加载ResetPassword视图: Global Error – The view ‘SendMail’ or its master was not found or no view engine supports the searched locations. The following locations were searched: … 这是SendMail的代码: public ActionResult SendMail(string login) { return ValidateLogin(login); } 如何覆盖return语句中的View? 提前致谢

在序列化对象时,告诉json .net写一个单引号而不是双引号

当调用Newtonsoft.Json.JsonConvert.SerializeObject(myObject)我得到的键和值用双引号括起来,如下所示: {“key” : “value”} 我希望它们用这样的单引号括起来: {‘key’ : ‘value’} 是否可以使用Json .Net?

从内部使用块返回是否可以

我正在进行代码审查,并找到了许多具有以下格式的代码: public MyResponse MyMethod(string arg) { using (Tracer myTracer = new Tracer(Constants.TraceLog)) { MyResponse abc = new MyResponse(); // Some code return abc; } } 当我运行代码分析时,我得到一个CA2000警告Microsoft.Reliability 代码应该重写为: public MyResponse MyMethod(string arg) { MyResponse abc = new MyResponse(); using (Tracer myTracer = new Tracer(Constants.TraceLog)) { // Some code } return abc; } 或者没关系? 编辑 报告警告的行是: MyResponse […]

如何在C#中测试与未知Web服务的连接?

我正在忙着编写一个监视RAS连接状态的类。 我需要测试以确保连接不仅连接,而且还可以与我的Web服务通信。 由于这个类将在未来的许多项目中使用,我想要一种方法来测试与webservice的连接,而不需要了解它。 我正在考虑将URL传递给类,以便它至少知道在哪里找到它。 Ping服务器不是一个充分的测试。 服务器可以使用,但服务可以脱机。 如何有效地测试我是否能够从Web服务获得响应?