首页
学习
活动
专区
圈层
工具
发布

WPF 程序的编译过程

编译临时程序集时,会生成一个新的项目文件,名字如:(项目名)_(随机字符)_wpftmp.csproj,在与原项目相同的目录下。...关于临时生成程序集 在 WPF 的编译过程中,我想单独将临时生成程序集的部分进行特别说明。因为如果你不了解这一部分的细节,可能在未来的使用中遇到一些临时生成程序集相关的坑。...新生成的临时项目文件相比于原来的项目文件,包含了这些修改: 添加了第一轮 XAML 编译传递(MarkupCompilePass1)时生成的 .g.cs 文件; 将所有引用方式收集到的引用全部换成 ReferencePath...的情况下,无论是项目引用还是 NuGet 包引用,都会被换成普通的 dll 引用,因为这个时候目标项目都已经编译完成,包含可以被引用的程序集。...注意,虽然新生成的项目文件中有 PackageReference 来表示包引用,但由于只有 _CompileTargetNameForLocalType 指定的编译目标和相关依赖可以被执行,而 NuGet

84430

jenkins with gitblit and .net framework and windows

AppData\Local\Jenkins\.jenkins,打开config.xml文件,找到${JENKINS_HOME}变量,修改为指定盘符,重启jenkins即可. 3、进入插件管理->高级选项 替换最后一栏...global user.name "用户名" git config --global user.email "邮箱" 设置当前pc的全部用户名和邮箱 ssh-keygen -t rsa -C "邮箱" 本地生成公私密钥对...,生成成功,输出中包含公钥存放地址.如下: ?...pc进行连接测试. (2)、关于如何用win10 进行测试请参考文章 9、新建一个FreeStyle的Item,并进入配置流程 (1)、第一步输入仓库ssh地址 (2)、新增ssh的认证方式,贴入本地私钥...\代码\BaseAsset.root\BaseAsset\ C:\Nuget\nuget.exe restore -PackagesDirectory D:\jenkins\workspace\BaseAsset

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    2018-8-24-快捷调试Nuget包

    不可行方法 通过添加引用的方式添加本地包 ?...Visual Studio Marketplace 这个工具非常棒,有着全5星好评,大家快去下载 懒人方法 替换nuget缓存 我们知道在vs中的nuget包,从nuget服务器中下载之后会添加到本地...之后每次编译时只需要从nuget缓存中获取现有的dll进行编译。那么我们就可以通过替换nuget缓存目录中的文件实现使用本地dll调试。...实操 我们找到目标nuget库所在的缓存目录,注意版本号要相同哦 ? 将原有的dll改为bak,此时我们发现vs对项目中所有有关于这个库的引用都飘红了,提示需要还原nuget ?...然后你可以在vs中的指定项目右键-打包(需要新格式才能支持),生成一个本地nuget包,放到刚刚的文件夹中 然后在产品项目里指定本地的程序包源,就可以看到你本地的nuget包了 ?

    1.2K10

    手把手教你写 Roslyn 修改编译

    Roslyn 如何使用 MSBuild Copy 复制文件 本文告诉大家如何在 MSBuild 里使用 Copy 复制文件 Roslyn 使用 Target 替换占位符方式生成 nuget 打包 本文告诉大家如何编写在编译过程修改打包文件...无论哪个控制台项目都会输出林德熙是逗比 虽然已经通过很多篇博客告诉大家如何通过 Directory.Build.props 文件修改编译的方法,但是本文还是提供一个新的思路 只需要在项目文件夹,或者磁盘的文件夹,如...Roslyn 通过 Nuget 引用源代码 在 VS 智能提示正常但是无法编译 本文告诉大家如果在 Nuget 引用源代码的方式引用源代码,在 VisualStudio 的智能提示和 Resharper...的智能提示都能找到对应的类,但是在 VisualStudio 编译或使用命令行 msbuild 编译时提示找不到类 Roslyn 通过 Nuget 管理公司配置 本文来告诉大家如何用 Roslyn 管理配置...,在开一个新的项目的时候经常需要添加公司,版权等,但是这些信息不想每次都添加于是我就想用 Nuget 管理所有配置,安装一个 nuget 就自动配置 Roslyn 如何在 Target 引用 xaml

    2.4K20

    制作通过 NuGet 分发的源代码包时,如果目标项目是 WPF 则会出现一些问题(探索篇,含解决方案)

    我们是通过项目中设置了属性 BuildOutputTargetFolder 让生成的文件跑到这里来的,目的是避免安装此 NuGet 包之后,引用了我们生成的 dll 文件。...在那篇博客中,我们解释到新生成的项目文件会使用 ReferencePath 替代其他方式收集到的引用,这就包含项目引用和 NuGet 包的引用。...在使用 ReferencePath 的情况下,无论是项目引用还是 NuGet 包引用,都会被换成普通的 dll 引用,因为这个时候目标项目都已经编译完成,包含可以被引用的程序集。...既然我们失去了通过 NuGet 被自动 Import 的时机,那么我们只能另寻它法: 帮助微软修复 NuGet 在 WPF 临时生成的项目中依然可以自动 Import 编译文件 .props 和 .targets...ReferencePathTypeName,传入了字符串常量 ReferencePath,这是为了在生成临时项目文件时使用正确的引用路径项的名称。

    1.1K40

    dotnet 开发的单代码仓库和多代码仓库的优劣

    我更改了 A 库,然后我在本地让 B 引用了 A 的我的本地开发路径,我更改了代码,调试完成,然后上传代码?...这样做的坑在于这段代码将只有我才能构建通过,因为小伙伴没有我的本地开发路径 那换个方法,我让 B 引用了 A 的我的本地开发路径,但是我不上传 csproj 文件的更改?...而 commit 构建不通过对于回溯是神坑 于是一个解决方法是在更改 A 之后打包 NuGet 包让 B 引用,这个解决方法有两个坑是谁的 NuGet 包和如何回溯 NuGet 包对应的代码。...通过在本地创建 Tag 号推送服务器,让服务器触发打包,打出来的 NuGet 包对应 Tag 号,此时就能满足让服务器打包以及使用 Tag 关联代码和 NuGet 包版本。...: VS DLL引用替换插件 这个插件能做到将 NuGet 引用替换为本地的开发路径,也就是我原先使用了 NuGet 引用了 A 库,我可以利用这个插件将 NuGet 引用替换为 csproj 的本地代码引用

    92220

    从零开始制作 NuGet 源代码包(全面支持 .NET Core .NET Framework WPF 项目)

    默认情况下,我们打包 NuGet 包时,目标项目安装我们的 NuGet 包会引用我们生成的库文件(dll)。除此之外,我们也可以专门做 NuGet 工具包,还可以做 NuGet 源代码包。...-- 当生成 WPF 临时项目时,不会自动 Import NuGet 中的 props 和 targets 文件,这使得在临时项目中你现在看到的整个文件都不会参与编译。...-- 修复旧版本的 Microsoft.NET.Sdk 中,WPF 项目不支持在临时项目中通过 NuGet 包生成源代码的问题。...-- 当生成 WPF 临时项目时,不会自动 Import NuGet 中的 props 和 targets 文件,这使得在临时项目中你现在看到的整个文件都不会参与编译。...-- 当生成 WPF 临时项目时,不会自动 Import NuGet 中的 props 和 targets 文件,这使得在临时项目中你现在看到的整个文件都不会参与编译。

    1.9K20

    Roslyn 通过 nuget 统一管理信息

    最近我多发布了一些项目,但是发布一个项目需要在 nuget 添加的信息有很多,如 authors 、 owners 、 Company 、 Copyright 而本渣很容易就忘记添加了一些值。...如果可以看到这个界面就是成功创建了,当然引用 林德熙逗比 包是不可能的,但是如果是按照我上面的方法写的话是不会看到引用的。...lindexi.targets 可以看到 targets 只是空白的文件 现在重新压缩一下,修改后缀名 注意压缩需要将文件包含在根目录,也就是不能包一个文件夹再放文件 安装本地包...在添加的下面写出本地打包的文件,也就是 lindexi.1.0.0.nupkg 文件所在的文件夹和随意的一个命名 ? 记得点击更新保存,然后再选择刚才设置的文件夹 ?...如果需要替换某个信息,例如修改 Description 的信息,就可以通过右击修改项目文件添加 Description 的设置就替换了默认的值。

    76120

    Roslyn 通过 nuget 统一管理信息

    最近我多发布了一些项目,但是发布一个项目需要在 nuget 添加的信息有很多,如 authors 、 owners 、 Company 、 Copyright 而本渣很容易就忘记添加了一些值。...打开文件可以看到下面界面 如果可以看到这个界面就是成功创建了,当然引用 林德熙逗比 包是不可能的,但是如果是按照我上面的方法写的话是不会看到引用的。...lindexi.targets 可以看到 targets 只是空白的文件 现在重新压缩一下,修改后缀名 注意压缩需要将文件包含在根目录,也就是不能包一个文件夹再放文件 安装本地包...做出来 nuget 需要安装在一个项目,下面先创建一个控制台的项目,在这个项目设置 nuget 安装 右击项目nuget点击设置,然后点击添加 在添加的下面写出本地打包的文件,也就是 lindexi...,而且里面的信息就是刚才设置的信息 如果需要替换某个信息,例如修改 Description 的信息,就可以通过右击修改项目文件添加 Description 的设置就替换了默认的值。

    36510

    借助 NuGet Audit 让我们的应用更安全

    NuGetAudit 这个 property 来显式地禁用,这里第一个示例禁用了 NuGet Audit 所以是没有警告的 默认 NuGetAudit 只检查引用的 NuGet 包引用,对于包引用的引用不会检查...dotnet-nuget-why 对于直接引用的 NuGet 包我们可以直接升级对应 package 的包,对于间接引用的包要怎么修复呢,同样地我们需要引用高版本没有漏洞的依赖,这里推荐大家使用中心化的包版本管理...我们可以配置 NuGetAuditSuppress 临时忽略某个安全漏洞的警告 suppress and sources 如果我们自己的私有 NuGet package 源也支持 Audit,也可以配置在...前面我们提到了可以配置 audit source,后面也将会支持基于本地文件的 audit source,感觉主要是为了本地 folder nuget source 吧 另外在安装一个有安全漏洞的 nuget...,帮助安全团队更好的理解和审计依赖,在打包 nuget package 的时候可以生成一个依赖清单在 nuget package 里,目前 SDK 层面还不支持,可以单独引用 Microsoft.Sbom.Targets

    42610

    如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包

    制作这样的一个跨平台 NuGet 工具,我们能够为安装此工具的项目提供自动的但定制化的编译细节——例如自动生成版本号,自动生成某些中间文件等。...所以请将所有的 NuGet 包资产都声明成私有的,方法是在 NuGet 包的引用后面加上 PrivateAssets="All"。...第二步:组织 NuGet 目录 刚刚生成的 NuGet 包还不能真正拿来用。事实上你也可以拿去安装,不过最终的效果只是加了一个毫无作用的引用程序集而已(顺便还带来一堆垃圾的间接引用)。...如果你要在编译期间替换一个类而不是新增一个类,例如将 Class1.cs 更换成新类,那么需要将其从编译列表中移除: 本地测试 NuGet 包 在发布 NuGet 包之前,我们可以先在本地安装测试。

    1.9K10

    AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决

    私有化部署NuGet服务创建好项目后,程序也是无法正常运行的,默认模板依赖Avalonia UI的一些NuGet包,需要在线安装,可以直接把相关库拷贝到内网,但一个一个拷贝、引用还是很麻烦。...NuGet包制作(可略)网上教程较多,可简单配置库的工程文件支持NuGet包生成,参考CodeWF.EventBus:https://...Include="Resources\logo.png">True\生成库工程时就会生成相应的...小知识:个人临时开发可将上面的源配置为本地NuGet目录路径。8....总结本文介绍了如何在本地网络环境中成功安装并配置AvaloniaUI所需的开发工具和模板,以及如何部署私有NuGet服务并制作及上传NuGet包以便团队内部成员之间共享和管理NuGet包。

    1.2K10

    MSBuildRoslyn 和 NuGet 的 100 个坑

    这种情况,唯一的办法就是把那个不再可用的源从配置中删除,或者临时禁用掉出问题的源。...其实这是只有新的项目文件才会出现的编译错误,而错误原因是 NuGet 的缓存文件中与包引用相关的信息已经不正确了,需要运行 nuget restore 或者 dotnet restore 重新更新此文件才行...但是,只有使用了 Sdk 风格的 csproj 文件才会在执行了此命令后重新生成正确的包引用缓存文件;原来的格式并不会生成此文件,也就是说,无法修复。...依赖的项目会自动转为依赖的 NuGet 包 如果你给一个项目 A 打 NuGet 包,但这个项目引用此解决方案中的另一个项目 B。那么这时打包,NuGet 会认为 A 包依赖于 B 包。...后会重新生成。

    98930

    MSBuildRoslyn 和 NuGet 的 100 个坑

    这种情况,唯一的办法就是把那个不再可用的源从配置中删除,或者临时禁用掉出问题的源。...其实这是只有新的项目文件才会出现的编译错误,而错误原因是 NuGet 的缓存文件中与包引用相关的信息已经不正确了,需要运行 nuget restore 或者 dotnet restore 重新更新此文件才行...但是,只有使用了 Microsoft.NET.Sdk 的新 csproj 文件才会在执行了此命令后重新生成正确的包引用缓存文件;原来的格式并不会生成此文件,也就是说,无法修复。...依赖的项目会自动转为依赖的 NuGet 包 如果你给一个项目 A 打 NuGet 包,但这个项目引用此解决方案中的另一个项目 B。那么这时打包,NuGet 会认为 A 包依赖于 B 包。...文件;其中 .nuget.g.props 和 .nuget.g.targets 中生成了 Import 包中编译相关文件的代码。

    1.7K20

    .NET Core系列 : 2 、project.json 这葫芦里卖的什么药

    它可标识项目引用、版本选项(如版本号)等事项,并可标识要编译的平台,例如,是 .NET Core 还是 .NET Framework。...此文件旨在: 替换 NuGet 文件管理器 package.config 文件,它可标识项目的 NuGet 引用。 指定项目支持的框架,以及有关如何为特定框架构建项目的配置详细信息。...project.json.lock  Project.json.lock 存储编译所需文件的列表(通常为 NuGet 引用)。...Project.json.lock 包括包图片以及本地下载的其他与包相关的数据(已还原)。...现在,想像你如果为此框架引用 NuGet 包,但有时怀疑可能存在需要修复的缺陷或可能存在一个批准的增强功能。通常,这需要独立于项目/解决方案处理组件中的源代码。

    3K80

    SourceYard 制作源代码包 控制台项目WPF 程序调试

    如果对 SourceYard 感兴趣,请在 github 关注 右击 TheLib 的属性,在打包的页面勾选在版本中生成 Nuget 包,勾选之后重新编译就可以制作出 Nuget 包。...右击项目管理 Nuget 引用本地的 Nuget 文件的文件夹,如我这里的 Nuget 文件是在 D:\lindexi\SourceYard\bin\Debug 文件夹下,我就需要添加这样的路径,请看图片...,如刚才命名为 TacaluTawnenai 的源就可以找到刚才的两个文件,如何选择本地的源?...,通过本地的文件夹安装 Nuget 包和通过 Nuget 服务器安装没有不同,如果需要自己搭建 Nuget 服务器也是十分简单,请看通过ProGet搭建一个内部的Nuget服务器 - 张善友 - 博客园我就帮小伙伴在...,很难在 dll 里面添加断点,同时在调试的时候修改代码 但是在使用 SourceYard 调试的时候,安装 Nuget 的库和调试本地的引用的代码是完全一样的,就使用上面的控制台调试 例如需要无论用户输出的是什么返回的都是

    1.4K20
    领券