我们正在玩Nuget并希望设置私有包源(在内部网络服务器上).我按照以下说明将其添加到visual studio中 - (参见包源代码)https://docs.nuget.org/consume/Package-Manager-Dialog
我想知道是否有一种在Visual Studio外部编写脚本的方法.(当我重建一个新的工作站时,我可以自动将它添加到VS)
我的观点是在我的一个参考文献中找到一个类时遇到问题.此引用是在项目外部构建的dll.
视图总是出错:
找不到类型或命名空间名称"Company"(您是否缺少using指令或程序集引用)
这是控制器.没问题.
using Company.Entities;
public ActionResult Find()
{
Person test = Person.SelectByADDistinguishedName("L*", false);
return View(test);
}
Run Code Online (Sandbox Code Playgroud)
这是视图.该@Model行发生错误.
@model Company.Entities.Person
@{
ViewBag.Title = "Bob";
}
<h2>Find</h2>
Run Code Online (Sandbox Code Playgroud)
我的Views/Web.config目前看起来像这样
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="Company.Entities" />
</namespaces>
</pages>
</system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)
我检查了类似的线程这样的一个,但无济于事.
这是屏幕上的消息
Run Code Online (Sandbox Code Playgroud)Line 25: using System.Web.Mvc.Html; Line 26: using System.Web.Routing; Line 27: using Company.Entities; Line 28: Line 29: Source …
所以我开始玩nuget,它是web.config install/uninstall.xdt值.
我的问题是,是否存在xdt:Transform将清除空元素.我在这里找不到任何东西. https://msdn.microsoft.com/en-us/library/dd465326%28v=vs.110%29.aspx
这是我的例子.
我当前的Web.config.install.xdt看起来像这样
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<compilation xdt:Transform="InsertIfMissing">
<assemblies xdt:Transform="InsertIfMissing">
<add xdt:Transform="InsertIfMissing" xdt:Locator="Match(assembly)" assembly="MyAssembly, Version=4.5.4.0, Culture=neutral, PublicKeyToken=asdfasdfasdfasdf" />
</assemblies>
</compilation>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我的卸载看起来像这样
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<compilation>
<assemblies>
<add xdt:Transform="Remove" xdt:Locator="Match(assembly)" assembly="MyAssembly, Version=4.5.4.0, Culture=neutral, PublicKeyToken=asdfasdfasdfasdf" />
</assemblies>
</compilation>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这是我的web.config之前(简化)
<system.web>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
Run Code Online (Sandbox Code Playgroud)
这是install.xtd之后的web.config
<system.web>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="MyAssembly, Version=4.5.4.0, Culture=neutral, PublicKeyToken=asdfasdfasdfasdf" />
</assemblies>
</compilation>
<httpRuntime targetFramework="4.5" />
</system.web>
Run Code Online (Sandbox Code Playgroud)
这是卸载后的web.config …
现在,我打电话给以下一行
System.Configuration.Configuration cnf = ConfigurationManager.OpenMachineConfiguration();
Run Code Online (Sandbox Code Playgroud)
结果是以下cnf.FilePath == C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
我在32位2003服务器和64位2008 R2服务器上得到以下结果.理想情况下,我想在64位服务器上安装时返回64位文件夹.
aka - C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
有没有办法获得64位版本而不需要使用ConfigurationFileMaps - 例如 来自Msdn的配置示例
更新评论
有没有办法在创建工作项时为"已分配给"字段选择登录用户.
现在,当我们创建一个bug时,assign-To字段是空白的.然后,用户必须从可用列表中选择该人(大多数时间,他/她自己).
我用TFS2005尝试了这个,它正在工作,所以我很好奇必须要改变什么.