我是GIT的新手,到目前为止我一直在使用Visual Studio Online TFS进行版本控制,而且我是唯一的开发人员.当我创建我的上一个项目时,我有点误导我认为GIT是最好的选择.
所以我登记了我的主人.然后,当我打算处理一个我读过的功能时,我必须创建一个分支(这在TFS中不是必需的)所以我创建了"development_print"作为一个新的分支并处理我的功能.
现在我的功能已经完成,但我不知道如何将它合并回主人.我目前对多个分支不感兴趣,只是希望我的新功能合并为master并保持master.
在VS中有一个合并分支选项,但它只允许我合并到development_print(我希望我的功能成为主!)所以它不允许我设置为当前分支和合并来自分支显示:
这有点令人困惑?它似乎全都倒退了.那么如何在不失去我对该功能所做的所有工作的情况下摆脱这种混乱?
我有一个新的MVC 5剃须刀,使用ASP.NET Identity 2作为会员系统的EF 6 Web应用程序.当我使用网页上的"注册"链接手动创建用户时,它就可以了.我可以创建用户,然后我可以使用给定的密码登录然后注销.
我不知道如何将数据库初始化程序与Identity 2的迁移一起使用,有无数的Identity 1和其他alpha和beta版本的例子只会让人感到困惑.由于我还不知道,我使用临时MVC视图来安装成员资格.
我看到视图正确执行,我看到用户和角色以及用户与数据库中角色的关联.我还看到用户在记录中有一个哈希密码.
但是,在执行此操作后,我无法使用Create方法中使用的纯文本密码登录到身份系统(本地),为什么?顺便说一下,我省略了try/catch并检查用户和角色创建(它们执行时没有错误).
DbContext ctx = ApplicationDbContext.Create();
transaction = ctx.Database.BeginTransaction();
RoleManager<IdentityRole> roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(ctx));
var roleAdmin = roleManager.Create(new IdentityRole("Admin"));
var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(ctx));
ApplicationUser userAdmin = new ApplicationUser { Id = "admin", Email = "me@there.com", UserName = "admin" };
userManager.Create(userAdmin, "Test_2013");
userManager.AddToRole(userAdmin.Id, "Admin");
userManager.Update(userAdmin);
transaction.Commit();
Run Code Online (Sandbox Code Playgroud)
因此,如果我尝试使用电子邮件地址和Test_2013密码登录帐户,则会收到错误消息,指出用户名/密码不正确.
我在MVC 5应用程序上使用Code First方法使用Entity Framework 6.x. 在这种特殊情况下,我的模型(以及其他内容)包含两个名为Latitude和Longitude的属性:
[Required, Range(-90, +90)]
public decimal Latitude { get; set; }
[Required, Range(-180, +180)]
public decimal Longitude { get; set; }
Run Code Online (Sandbox Code Playgroud)
当我执行迁移时,我得到了类似的东西
CreateTable("ResProperty"), c => new {
:
Latitude = c.Decimal(nullable: false, precision: 10, scale: 8),
Longitude = c.Decimal(nullable: false, precision: 11, scale: 8),
:
})
... other stuff
Run Code Online (Sandbox Code Playgroud)
所以纬度和经度都有8 位十进制数字.前者有2个整数(最多90个),后者有3个整数(最多180个).
执行Update-Database命令后,我的表的列显示为:
Latitude decimal(10,8)
Longitude decimal(11,8)
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎很好.现在在我看来,我有一个地图和Javascript代码,允许用户重新定位标记.这也很好.重新定位标记时,纬度和经度字段将填充更新的值,其中(Javascript)具有超过12个十进制数字.这与AFAIK无关,因为我的比例是8位小数.
按下提交按钮并调用Create或Edit POST方法后,我检查模型实例,并确认模型中传递给控制器的实际值是正确的,它们有足够的十进制数字(那些Javascript代码)地点).所以价值是正确的.
现在......问题在于执行db.SaveChanges()之后数据库得到更新 - 我已经确认已经发生了实际的写入/更新 - 但不知何故内部EF忽略了我的实际值并写入了截断的纬度/经度四舍五入到只有两位小数,所以我的纬度在数据库中显示为09.500000000所有其他十进制数字都归零,因为似乎已经进行了舍入.
// Prior to SaveChanges()
Latitude = 9.08521879
Longitude = -79.51658792 …Run Code Online (Sandbox Code Playgroud) rounding-error decimal geospatial ef-code-first entity-framework-6
我有一个ASP.NET MVC 5项目(剃刀引擎),它有Identity 2.0和个人用户帐户.我正在使用Visual Studio Professional 2013
我没有找到任何明确的例子(为什么不开箱即用?)我如何为Identity 2.0数据库播种,我看到的所有示例都有一半支持,因为他们没有说明你必须实现的那个.
我使用了enable-migrations,它创建了一个带有Configuration.cs文件的Migrations文件夹.它有一个Seed方法覆盖,但是当我放置一个断点时,它注意到它永远不会被执行,实际上Identity数据库甚至都没有填充模式.
那么我必须做什么,以及第一次在数据库上创建Identity 2.0模式(连接字符串是正确的,并且存在空数据库).我如何装配种子?
在IdentityModels.cs上我有这个:public class ApplicationDbContext:IdentityDbContext {ublic ApplicationDbContext():base("DefaultConnection",throwIfV1Schema:false){}
public static ApplicationDbContext Create() {
return new ApplicationDbContext();
}
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) {
base.OnModelCreating(modelBuilder);
// to avoid the "has no keys" errors when running Update-Database on PM
modelBuilder.Entity<IdentityRole>().HasKey<string>(r => r.Id).ToTable("AspNetRoles");
modelBuilder.Entity<IdentityUser>().ToTable("AspNetUsers");
modelBuilder.Entity<IdentityUserLogin>().HasKey(l => new { l.UserId, l.LoginProvider, l.ProviderKey }).ToTable("AspNetUserLogins");
modelBuilder.Entity<IdentityUserRole>().HasKey(r => new { r.RoleId, r.UserId }).ToTable("AspNetUserRoles");
modelBuilder.Entity<IdentityUserClaim>().ToTable("AspNetUserClaims");
}
}
Run Code Online (Sandbox Code Playgroud)
在Migrations/Configuration.cs中(由PM> Enable-Migrations添加)我有:
internal sealed class Configuration : DbMigrationsConfiguration<Models.ApplicationDbContext> {
public Configuration() { …Run Code Online (Sandbox Code Playgroud) 我用Visual Studio 2010 Ultimate SP1发布了我的项目,我在〜/ App_Data中有一堆文件.
我不记得首次上传appdata是使用FTP还是使用WebDeploy.问题是当我向〜/ App_Data添加新文件并发布网站时,这些文件(或〜/ App_Data下的文件夹)永远不会被发布.
我的项目Web部署设置具有"Exclude App_Data"UNCHECKED,因此它应该上传它,但它不会.
还有什么我应该做的吗?
我有一个用VS.2017开发的ASP.NET Core 1.1 Web应用程序,我决定将一些视图功能放在一个视图组件中(以前做过其他的).
此视图组件获取与用户标识关联的字典集合,并将其显示在一个漂亮的表中.当我把它作为页面的一部分(而不是VC)时,它可以工作.但是当我将它用作视图组件时,组件的HTML永远不会被渲染.
我在视图组件中放置了一个断点并触发,我看到View(已授予)返回语句返回一个填充列表,直到执行按预期方式执行.
然后我在ViewComponent的default.cshtml代码部分的@ {some code here}顶部放置了一个断点,并且该断点也被触发,因此找到了视图组件的Default.cshtml文件.这个Default.cshtml有一些标记来呈现一个表,在表中我有一个@foreach()语句,当一个"Run to cursor"到那个精确的位置 - 迭代的循环 - 它也触发它所以它是迭代整个集合.
但毕竟主视图看起来好像视图组件不在那里,即使找到并执行了Default.cshtml中的HTML也没有呈现.我在这里错过了什么?到目前为止,我的印象是VS.2017(及其所有更新)不是很稳定.
Default.cshtml
@using ACME.AspNetCore.Permissions.Infrastructure.Authorization
@model Dictionary<Permission, string>
@{
ViewBag.UserName = "xxx";
Model.Add(Permission.Permission1, "test");
}
<h1>Component Output</h1>
<div class="well well-lg">
<table class="table table-hover">
<thead>
<tr>
<th>Permission</th>
<th>Description</th>
<th class="text-center">Status</th>
<th class="text-center">Revoke it!</th>
</tr>
</thead>
<tbody>
@foreach (var dictentry in Model)
{
<tr>
<td>@dictentry.Key.ToString()</td>
<td>@dictentry.Value</td>
<td class="text-center"><span class="glyphicon glyphicon-ok" style="color:green;"></span></td>
<td class="text-center"><a asp-action="RevokePermission" asp-route-id="@ViewBag.UserName" asp-route-pid="@dictentry.Key.ToString()"><span class="glyphicon glyphicon-thumbs-down" style="color:red;"></span></a></td>
</tr>
}
</tbody>
<tfoot><p class="alert alert-success"><span class="glyphicon glyphicon-eye-open"></span> …Run Code Online (Sandbox Code Playgroud) 我创建了一个WCF服务,对于默认服务,我在主DataContract上添加了另一个操作契约:
[OperationContract]
void DoSomething(UserData data);
Run Code Online (Sandbox Code Playgroud)
然后我在下面有这样的东西(简化为例子的目的).问题是,即使层次结构中的所有类都使用DataContract进行修饰,并且所有成员都使用DataMember修饰,但当我使用WCF测试客户端时,它有一个红色图标,表示"WCF测试客户端不支持该操作".
[DataContract]
public class UserData {
[DataMember]
public uint One { get; set; }
[DataMember]
public CompositeType Extra { get; set; }
public UserData() { ctor. code }
}
[DataContract]
public class CompositeType {
[DataMember]
public uint Two { get; set; }
public UserData() { ctor code }
}
Run Code Online (Sandbox Code Playgroud) 我使用FTP复制了我的MVC3 Razor网站.但是,当我输入URL时出现错误:
"Could not load type Mynamespace.MvcApplication"
Run Code Online (Sandbox Code Playgroud)
它显示问题在于Global.asax:
Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="MvcPanamaVibes.MvcApplication" Language="C#" %>
Run Code Online (Sandbox Code Playgroud)
我的项目在我的电脑上正常运行.我尝试只上传Global.asax,其余的但得到了错误.我上传了Global.asax.cs,但问题仍然存在.
如果我的应用程序完全编译并在我的计算机上正常运行,为什么它会抱怨这个?我错过了什么?
到目前为止,Visual Studio 2017一直是最疯狂的.我有一个现有的解决方案,我想添加到源代码控制(VisualStudioOnline.com),但每次我只是在本地创建一个GIT存储库,我不想要GIT.它甚至没有问.
我将选项更改为默认为VisualStudioOnline.但是当我尝试添加解决方案时,我选择了Manage Connections,然后我看到我在VSO网站上创建的项目存储库,然后点击它然后点击Connect.过了一会儿,窗口就会消失,不会出现任何错误,团队资源管理器仍然说我处于离线状态,所以它没有添加到TFS.然而,我的VS.2017连接到我的VSO帐户.
这里有什么问题?他们甚至不能暗示为什么它没有连接?
我正在为MVC .NET Core Web应用程序使用最新的VS.2017更新和模板。我决定在外部程序集中使用ViewComponents,因为我读了几篇文章,指出没有奇数技巧是不可能的。
我有主要的Web应用程序,然后创建了一个名为MySite.Components的.NET Framework类库,它是“外部程序集”。在其中安装了ViewFeatures NuGet。我在其/Views/Shared/Components/GoogleAdsense/Default.cshtml中创建了View组件CSHTML。
我注意到CSPROJ已经将GoogleAdSense作为嵌入式资源:
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
<EmbeddedResource Include="Views\Shared\Components\GoogleAdsense\Default.cshtml" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
视图组件实际上非常简单:
namespace MySite.Components.ViewComponents {
[ViewComponent(Name = "GoogleAdsense")]
public class GoogleAdsense : ViewComponent {
public async Task<IViewComponentResult> InvokeAsync(string adSlot, string clientId, string adStyle = "")
{
var model = await GetConfigAsync(adSlot, clientId, adStyle);
return View(model);
}
private Task<GoogleAdUnitCompModel> GetConfigAsync(string adSlot, string clientId, string adStyle)
{
GoogleAdUnitCompModel model = new GoogleAdUnitCompModel
{
ClientId = clientId, // apparently we can't …Run Code Online (Sandbox Code Playgroud) 当我尝试访问视图时在我的MVC3 Razor应用程序(ASP.NET)中出现问题模型看起来像这样(删除了注释)
namespace MvcTest.Models {
public class ContactMeModel {
public string From { get; set; }
public string Subject { get; set; }
public string Message { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
View有这样的东西(部分,只是把那个给出错误的部分,没有超过那个...
@model MvcTest.Models.ContactMeModel
@{
ViewBag.Title = "test"
}
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<div class="editor-label">
@Html.LabelFor(model => model.From)
</div>
}
Run Code Online (Sandbox Code Playgroud)
名称空间是正确的,但是intellisense在标记的.From部分显示为红色,就像它不能识别模型一样,但是这种情况也会发生.
当我访问View时出现以下错误:
CS1061: 'object' does not contain a definition for 'From' and no extension method 'From' accepting a first argument of type 'object' could be found (are you missing …Run Code Online (Sandbox Code Playgroud) 我买了一个 ACR122U USB 智能卡读卡器,但它没有 SDK 或除了我在香港 OEM 找到的 x64 统一驱动程序之外可以安装的任何东西。
我想用它来正确访问卡片。我还尝试了几个 PKCS 库,如 PKCS#11.NET,我设法为 4.5 重新编译了它们,但它需要一些未安装在我的系统上的驱动程序 DLL(提供程序)。
我在哪里可以得到其中之一?它列出了这些: eTPKCS11g.dll opensc-pkcs11.dll etpkcs11.dll siecap11.dll rtPKCS11.dll
PKCS#11.NET 的 PKCS 测试应用程序在单独的目录中有两个 eTPKCS11 DLL,但它们不能作为参考添加。和往常一样,该项目带有零文档
asp.net-mvc ×4
asp.net-core ×2
c# ×2
acr122 ×1
app-data ×1
azure-devops ×1
decimal ×1
deployment ×1
geospatial ×1
git ×1
git-branch ×1
git-merge ×1
global-asax ×1
pkcs#11 ×1
smartcard ×1
tfs ×1
wcf ×1
webdeploy ×1